
[英]Django: TypeError at /login/ __init__() takes 1 positional argument but 2 were given
[英]TypeError at /users/login/ __init__() takes 1 positional argument but 2 were given
我目前正在编写“Python Crash course”一书中的教程。
本教程是关于使用 Django 创建“学习日志”Webapp。 该应用程序的想法是允许用户: 1. 创建他们所了解的“主题” 2. 将“条目”添加到这些主题中,描述他们所学到的特定于这些主题的详细信息
我目前卡在登录页面并在运行时收到错误
http://localhost:8000/users/login/
网址.py
from django.conf.urls import url
# Importing the default login view provided by Django
from django.contrib.auth.views import LoginView
from .import views
app_name = 'users'
urlpatterns =[
# Login page
url(r'^login/$', LoginView , {'template_name':'users/login.html'},name = 'login'),
]
登录.html
{% extends "learning_logs/base.html" %}
{% block content %}
{% if form.errors %}
<p> Your username and password didn't match.Please try again. </p>
{% endif %}
<form method="post" action="{%url 'users:login' %}">
{%csrf_token %}
{{form.as_p}}
<button name="submit">log in</button>
<input type="hidden" name="next" value="{%url 'learning_logs:index' %}"/>
</form>
{% endblock content %}
底座.html
<p>
<a href="{% url 'learning_logs:index' %}">Learning Log</a> -
<a href="{% url 'learning_logs:topics'%}">Topics</a> -
{% if user.is_authenticated %}
Hello,{{user.username}}.
{% else %}
<a href="{% url 'users:login' %}">log in</a>
{% endif %}
</p>
{% block content %}{% endblock content %}
LoginView
是一个基于类的视图,您可以使用.as_view(…)
[Django-doc]在urls.py
中使用它。 您可以将template_name
作为参数传递给.as_view(…)
:
url(r'^login/$', LoginView.as_view(template_name='users/login.html'), name='login'),
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.