私はdjango.contrib.auth.loginを使ってセッションにユーザーのIDを格納しようとしています。しかし、期待通りには機能しません。Django "login()はちょうど1つの引数(与えられた2つ)"エラーを返します。
私はまさに私が/ログイン/ユーザーではAttributeErrorを取得しています(与えられた2)1つの引数にログイン(ユーザー)で
エラーログインを()メソッド 『」オブジェクトを何も属性を持っていない』のテイク取得しています
私は少しmodifyed例フォームhttp://docs.djangoproject.com/en/dev/topics/auth/を使用しています:login.htmlとは特別なものは何もありません
from django.shortcuts import render_to_response
from django.contrib.auth import authenticate, login
def login(request):
msg = []
if request.method == 'POST':
username = request.POST['u']
password = request.POST['p']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
msg.append("login successful")
else:
msg.append("disabled account")
else:
msg.append("invalid login")
return render_to_response('login.html', {'errors': msg})
:
<html>
<head>
<title></title>
</head>
<body>
<form action="/login/" method="post">
Login: <input type="text" name="u">
<br/>
Password: <input type="password" name="p">
<input type="submit" value="Login">
</form>
{% if errors %}
<ul>
{% for error in errors %}
<li>{{ error }}</li>
{% endfor %}
</ul>
{% endif %}
</body>
</html>
login()の作業方法を知っている人はいませんか。
あなたのビューの名前を変更すると動作します – Evgeny
私が探していた質問と回答です。 ContextsとRequestContextsを使用し、csrf_tokensを省略して、djangoでログインして実行しようとしている間にいくつかの間違いの1つ。 – chucksmash
ここでは、Djangoユーザーに関するチュートリアルを見つけることができますhttp://lowcoupling.com/post/71289666862/django-the-user-tutorialクローンとチェックを行うことができるGitHubプロジェクトもあります – lowcoupling