我在互联网上到处寻找这个问题的答案,但找不到任何东西 . 每当我尝试访问/ accounts / login /时都会遇到此问题

我已将ID和密钥添加到我的django管理员页面,并将localhost:8000添加到我的Sites模型以及我的Facebook应用程序 .

我不仅在开发自定义应用程序时遇到此问题 . 当我从github克隆allauth repo时,我也遇到了这个问题,并按照示例应用程序的安装步骤进行操作 . 非常感谢帮助 .

我刚刚克隆了allauth存储库,在管理站点中输入了客户端ID和密钥,并将localhost添加到了我的站点 . 我退出管理员并尝试导航到accounts / login /但得到以下响应:

请求方法:GET
请求网址:http://localhost:8000/accounts/login/
Django版本:1.10.5
异常类型:NoReverseMatch
例外 Value :
使用参数'()'和未找到关键字参数'{}'反向'facebook_login' . 尝试过0种模式:[]
异常位置:C:... \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ django \ urls \ resolvers.py in _reverse_with_prefix,第392行Python可执行文件:C:... \ AppData \当地\程序\ Python的\ Python36-32 \ python36.exe
Python版本:3.6.0

我安装的应用是:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admin',

    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'allauth.socialaccount.providers.facebook',
    'allauth.socialaccount.providers.openid',
    'example.demo'
)

在呈现时为我提供此响应的模板是snippets / provider_list.html .

{% load socialaccount %}

{% get_providers as socialaccount_providers %}

{% for provider in socialaccount_providers %}
{% if provider.id == "openid" %}
{% for brand in provider.get_brands %}
<li>
  <a title="{{brand.name}}" 
     class="socialaccount_provider {{provider.id}} {{brand.id}}" 
     href="{% provider_login_url provider.id openid=brand.openid_url process=process %}"
     >{{brand.name}}</a>
</li>
{% endfor %}
{% endif %}
<li>
  <a title="{{provider.name}}" class="socialaccount_provider {{provider.id}}" 
     href="{% provider_login_url provider.id process=process scope=scope auth_params=auth_params %}">{{provider.name}}</a>
</li>
{% endfor %}

更具体地说,它是第二个列表元素中的url:

<li>
  <a title="{{provider.name}}" class="socialaccount_provider {{provider.id}}" 
     href="{% provider_login_url provider.id process=process scope=scope auth_params=auth_params %}">{{provider.name}}</a>
</li>

似乎“{%provider_login_url ...%}”就是问题所在 .

我也会给你urls.py和views.py文件,但我只使用{%url“name_of_url”%}格式来引用网址而不是上面的格式,所以我甚至不知道{%provider_login_url%}是什么必要的 .

我没有改变任何代码 . 一切都完全来自allauth克隆的文件 .