Я новичок в python и django, и мне нужно создать веб-приложение. Предполагается, что после входа пользователя в систему он перенаправляется на другую страницу, где он выбирает проект для работы. Проблема заключается в том, что ПОСЛЕ успешной регистрации, когда он выбирает проект, я получаю ошибку «Недействительные учетные данные» из окна входа в систему. Я думал, мы это в прошлом ... Вот файл просмотров:Django user pass
def login(request):
context=RequestContext(request)
if request.method=='POST':
username=request.POST.get('username')
password=request.POST.get('password')
user=auth.authenticate(username=username, password=password)
if user:
if user.is_active:
auth.login(request,user)
return render_to_response('ProjectLogging/main.html',{'user':user, 'project_list':Project.objects.all()}, context)
else:
return HttpResponse("Your account is disabled.")
else:
return HttpResponse("Invalid login credentials.")
return render_to_response('ProjectLogging/login.html',context)
@login_required
def logout(request, user):
context=RequestContext(request)
auth.logout(request, user)
return render_to_response('ProjectLogging/login.html',{'user':None},context)
@login_required
def main(request, user):
context = RequestContext(request)
user=user
if request.method=='POST':
project=request.POST['project']
if project:
change=Change(user=user, project=project,starttime=datetime.datetime.now())
change.save()
else:
HttpResponse("Choose a valid project!")
else:
HttpResponse("Choose a POST method (???????)")
Это является URLs проекта:
urlpatterns=patterns('',
url(r'', 'views.login'),
url(r'^login/$', 'views.login'),
url(r'^logout/$', 'views.logout'),
url(r'^main/$','views.main'),
)
Кроме того, я не осилил как представления, URL-адреса и html-файлы сотрудничают в django, поэтому, если вы можете предложить сайт для изучения, я был бы благодарен. Наконец, выход из системы не работает, поэтому, если у вас есть какие-либо идеи, я был бы еще более благодарен. Спасибо.
Очевидно, что если вам требуется дополнительная информация или другие файлы, я был бы рад ответить. –
Вы знакомы с общим для Django видом? С их помощью, вероятно, самый быстрый и простой способ перейти сюда, а не писать свои собственные взгляды. Общий вид «ListView» должен охватывать список проектов, а представление 'login' под' django.contrib.auth' должно быть хорошо для аутентификации. Также есть выход из системы. –
Взгляды на основе классов и общие представления Django являются блестящими, но труднодоступными. Этот сайт является своего рода недостающим битом в документации Django и очень полезен: http://ccbv.co.uk/ – ecstaticpeon