升级Django与django-allauth后,模板中google_login反向解析失败
问题原因及解决方案
核心问题
模板中调用{% url %}标签时,标签前后多了不必要的空格,导致Django解析的视图名称是带空格的' google_login ',而非正确的'google_login',这就是模板渲染时找不到反向匹配的直接原因。
同时升级后的django-allauth版本对URL名称的匹配逻辑更严格,旧版本可能会忽略这类空格,新版本则直接判定为无效视图名称。
解决步骤
- 修改模板文件
/home/jpg/work-dir/projects/-personal/generic-django-example/templates/_base.html的第32行,去掉{% url 'google_login' %}前后的空格:<a class="p-2 text-dark" href="{% url 'google_login' %}">Google Login</a> - 额外验证(可选):
- 确认
allauth.socialaccount.providers.google已添加到INSTALLED_APPS(你的配置中已包含) - 确认项目根
urls.py中正确引入了allauth.urls(你的配置中已通过path("accounts/", include("allauth.urls"))实现)
- 确认
内容的提问来源于stack exchange,提问作者JPG
相关产品推荐
相关产品推荐

