1

我正在研究 Django 项目,我搜索了一段时间如何登录并发现最简单的方法是“django.contrib.auth”。所以我将我的登录视图添加到 urls.py :

 url(r'^login/$','django.contrib.auth.views.login',{'template_name': 'login.html'}),  

这是我的模板:

<html>
<head>
    <title>Django Bookmarks - User Login</title>
</head>
<h1>User Login</h1>
{% if form.errors %}
    <p>Your username and password didn't match.
        Please try again.</p>
{% endif %}
<form method="post" action=".">{% csrf_token %}
    <p><label for="id_username">Username:</label>
        {{ form.username }}</p>
    <p><label for="id_password">Password:</label>
        {{ form.password }}</p>
    <input type="hidden" name="next" value="/" />
    <input type="submit" value="login" />
</form>
</body>
</html>
4

2 回答 2

0

您似乎在 settings.py 中添加了一些自定义后端

在 shell 上试​​试这个:

from django.conf import settings

settings.AUTHENTICATION_BACKENDS

似乎 django 正在尝试导入一个名为backends您没有的模块,因为您正在犯一些路径错误。

如果在 appEmailAuthBackend中命名的模块中定义,则需要添加到.backends.pysome_appsome_app.backends.EmailAuthBackendAUTHENTICATION_BACKENDS

于 2013-04-14T19:22:50.537 回答
0

在早期的 Django 版本中,这可能是由于某些backends.py. 我想创建一个激活电子邮件,然后AUTHENTICATION_BACKENDS = ['authentication.backends.EmailBackend']在我的文件中使用,settings.py然后我创建了一个名为 的文件backends.py,然后我删除了backeds.py(因为在早期的 Dj 版本中你不需要它,至少用于电子邮件验证)我忘了AUTHENTICATION_BACKENDS = ['authentication.backends.EmailBackend']从我的settings.py,这导致了错误。

于 2021-05-18T09:47:31.373 回答