Python Django-NoReverseMatch at/login/here/
我只是不明白。我在这个错误上花了太多时间。请帮我找出问题所在。如果您需要任何其他信息,请告诉我 错误内容如下: NoReverseMatch at/login/here/ 未找到参数为“()”且关键字参数为“{}”的“欢迎”的反转。已尝试0个模式:[] 项目URL.pyPython Django-NoReverseMatch at/login/here/,python,django,Python,Django,我只是不明白。我在这个错误上花了太多时间。请帮我找出问题所在。如果您需要任何其他信息,请告诉我 错误内容如下: NoReverseMatch at/login/here/ 未找到参数为“()”且关键字参数为“{}”的“欢迎”的反转。已尝试0个模式:[] 项目URL.py from django.conf.urls import url, include from django.contrib import admin urlpatterns = [ url(r'^admin/',
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
# creating registered namespaces for each app
url(r'^login/', include('login_app.urls', namespace = "login_app")),
]
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'here/', views.login_user),
]
from django.shortcuts import render, get_object_or_404
from django.contrib.auth.decorators import login_required
from django.contrib.auth import authenticate, login, logout
from django.http import HttpResponseRedirect, HttpResponse
from django.core.urlresolvers import reverse
from login_app.forms import LoginForm
from django.shortcuts import render_to_response # this is going to be depricated
from django.template import RequestContext
def login_user(request):
form = LoginForm()
logout(request) # logs out user upon reaching the /login/ page
user = password = ''
# if this is a POST request we need to process the form data
if request.POST:
# create a form instance and populate it with the data from the request:
form = LoginForm(request.POST)
# check whether it's valid:
if form.is_valid():
# process the data in form.cleaned_data as required
user = form.cleaned_data['user'] # extracting the username from the form before authenticating
password = form.cleaned_data['password'] # extracting the password from the form before authenticating
user = authenticate(username=user, password=password) # authenticating
if user is not None:
login(request, user)
#return HttpResponseRedirect(reverse('dashboard_app:welcome'))
return HttpResponse("hi!")
else:
template = 'login.html'
state = "Your username and/or password are incorrect."
context = {'state': state,'form': form,}
return render(request, template, context)
template = 'login_app/login.html'
state = ''
context ={'state': state, 'form': form}
#return HttpResponse("hey!")
return render(request, template, context)
from django import forms
## importing crispy form utilities
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Submit, Div, ButtonHolder
from crispy_forms.bootstrap import FormActions, PrependedText
class LoginForm(forms.Form):
## user field
user = forms.CharField()
## password field
password = forms.CharField(
widget=forms.PasswordInput()
)
## Using crispy forms to create a form
helper = FormHelper()
helper.form_method = 'POST'
helper.form_show_labels = False
helper.layout = Layout(
Div(
PrependedText('user', '<i class="fa fa-user fa-fw"></i>', placeholder='Username'),
PrependedText('password', '<i class="fa fa-lock fa-fw"></i>', placeholder='Password', autocomplete='off'),
style='padding:0px;',
css_class='col-md-3'
),
Div(
ButtonHolder(
Submit('submit','Login'), css_class='col-md-12'
), css_class='row'
)
)
登录应用程序/url.py
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
# creating registered namespaces for each app
url(r'^login/', include('login_app.urls', namespace = "login_app")),
]
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'here/', views.login_user),
]
from django.shortcuts import render, get_object_or_404
from django.contrib.auth.decorators import login_required
from django.contrib.auth import authenticate, login, logout
from django.http import HttpResponseRedirect, HttpResponse
from django.core.urlresolvers import reverse
from login_app.forms import LoginForm
from django.shortcuts import render_to_response # this is going to be depricated
from django.template import RequestContext
def login_user(request):
form = LoginForm()
logout(request) # logs out user upon reaching the /login/ page
user = password = ''
# if this is a POST request we need to process the form data
if request.POST:
# create a form instance and populate it with the data from the request:
form = LoginForm(request.POST)
# check whether it's valid:
if form.is_valid():
# process the data in form.cleaned_data as required
user = form.cleaned_data['user'] # extracting the username from the form before authenticating
password = form.cleaned_data['password'] # extracting the password from the form before authenticating
user = authenticate(username=user, password=password) # authenticating
if user is not None:
login(request, user)
#return HttpResponseRedirect(reverse('dashboard_app:welcome'))
return HttpResponse("hi!")
else:
template = 'login.html'
state = "Your username and/or password are incorrect."
context = {'state': state,'form': form,}
return render(request, template, context)
template = 'login_app/login.html'
state = ''
context ={'state': state, 'form': form}
#return HttpResponse("hey!")
return render(request, template, context)
from django import forms
## importing crispy form utilities
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Submit, Div, ButtonHolder
from crispy_forms.bootstrap import FormActions, PrependedText
class LoginForm(forms.Form):
## user field
user = forms.CharField()
## password field
password = forms.CharField(
widget=forms.PasswordInput()
)
## Using crispy forms to create a form
helper = FormHelper()
helper.form_method = 'POST'
helper.form_show_labels = False
helper.layout = Layout(
Div(
PrependedText('user', '<i class="fa fa-user fa-fw"></i>', placeholder='Username'),
PrependedText('password', '<i class="fa fa-lock fa-fw"></i>', placeholder='Password', autocomplete='off'),
style='padding:0px;',
css_class='col-md-3'
),
Div(
ButtonHolder(
Submit('submit','Login'), css_class='col-md-12'
), css_class='row'
)
)
登录\u app/views.py
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
# creating registered namespaces for each app
url(r'^login/', include('login_app.urls', namespace = "login_app")),
]
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'here/', views.login_user),
]
from django.shortcuts import render, get_object_or_404
from django.contrib.auth.decorators import login_required
from django.contrib.auth import authenticate, login, logout
from django.http import HttpResponseRedirect, HttpResponse
from django.core.urlresolvers import reverse
from login_app.forms import LoginForm
from django.shortcuts import render_to_response # this is going to be depricated
from django.template import RequestContext
def login_user(request):
form = LoginForm()
logout(request) # logs out user upon reaching the /login/ page
user = password = ''
# if this is a POST request we need to process the form data
if request.POST:
# create a form instance and populate it with the data from the request:
form = LoginForm(request.POST)
# check whether it's valid:
if form.is_valid():
# process the data in form.cleaned_data as required
user = form.cleaned_data['user'] # extracting the username from the form before authenticating
password = form.cleaned_data['password'] # extracting the password from the form before authenticating
user = authenticate(username=user, password=password) # authenticating
if user is not None:
login(request, user)
#return HttpResponseRedirect(reverse('dashboard_app:welcome'))
return HttpResponse("hi!")
else:
template = 'login.html'
state = "Your username and/or password are incorrect."
context = {'state': state,'form': form,}
return render(request, template, context)
template = 'login_app/login.html'
state = ''
context ={'state': state, 'form': form}
#return HttpResponse("hey!")
return render(request, template, context)
from django import forms
## importing crispy form utilities
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Submit, Div, ButtonHolder
from crispy_forms.bootstrap import FormActions, PrependedText
class LoginForm(forms.Form):
## user field
user = forms.CharField()
## password field
password = forms.CharField(
widget=forms.PasswordInput()
)
## Using crispy forms to create a form
helper = FormHelper()
helper.form_method = 'POST'
helper.form_show_labels = False
helper.layout = Layout(
Div(
PrependedText('user', '<i class="fa fa-user fa-fw"></i>', placeholder='Username'),
PrependedText('password', '<i class="fa fa-lock fa-fw"></i>', placeholder='Password', autocomplete='off'),
style='padding:0px;',
css_class='col-md-3'
),
Div(
ButtonHolder(
Submit('submit','Login'), css_class='col-md-12'
), css_class='row'
)
)
login.html
{% extends "base.html" %}
{% load crispy_forms_tags %}
{% block content %}
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'login_app/css/login.css' %}">
<div class="container-fluid">
<div class="well">
{% csrf_token %}
{% crispy form %}<br>
<!--error handling-->
<p>{{ state }}</p>
</div>
</div>
{% endblock %}
{%extends“base.html”%}
{%load crispy_forms_tags%}
{%block content%}
{%load staticfiles%}
{%csrf_令牌%}
{%crispy form%}
{{state}}
{%endblock%}
login\u app/forms.py
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
# creating registered namespaces for each app
url(r'^login/', include('login_app.urls', namespace = "login_app")),
]
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'here/', views.login_user),
]
from django.shortcuts import render, get_object_or_404
from django.contrib.auth.decorators import login_required
from django.contrib.auth import authenticate, login, logout
from django.http import HttpResponseRedirect, HttpResponse
from django.core.urlresolvers import reverse
from login_app.forms import LoginForm
from django.shortcuts import render_to_response # this is going to be depricated
from django.template import RequestContext
def login_user(request):
form = LoginForm()
logout(request) # logs out user upon reaching the /login/ page
user = password = ''
# if this is a POST request we need to process the form data
if request.POST:
# create a form instance and populate it with the data from the request:
form = LoginForm(request.POST)
# check whether it's valid:
if form.is_valid():
# process the data in form.cleaned_data as required
user = form.cleaned_data['user'] # extracting the username from the form before authenticating
password = form.cleaned_data['password'] # extracting the password from the form before authenticating
user = authenticate(username=user, password=password) # authenticating
if user is not None:
login(request, user)
#return HttpResponseRedirect(reverse('dashboard_app:welcome'))
return HttpResponse("hi!")
else:
template = 'login.html'
state = "Your username and/or password are incorrect."
context = {'state': state,'form': form,}
return render(request, template, context)
template = 'login_app/login.html'
state = ''
context ={'state': state, 'form': form}
#return HttpResponse("hey!")
return render(request, template, context)
from django import forms
## importing crispy form utilities
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Submit, Div, ButtonHolder
from crispy_forms.bootstrap import FormActions, PrependedText
class LoginForm(forms.Form):
## user field
user = forms.CharField()
## password field
password = forms.CharField(
widget=forms.PasswordInput()
)
## Using crispy forms to create a form
helper = FormHelper()
helper.form_method = 'POST'
helper.form_show_labels = False
helper.layout = Layout(
Div(
PrependedText('user', '<i class="fa fa-user fa-fw"></i>', placeholder='Username'),
PrependedText('password', '<i class="fa fa-lock fa-fw"></i>', placeholder='Password', autocomplete='off'),
style='padding:0px;',
css_class='col-md-3'
),
Div(
ButtonHolder(
Submit('submit','Login'), css_class='col-md-12'
), css_class='row'
)
)
来自django导入表单的
##导入crispy表单实用程序
从crispy_forms.helper导入FormHelper
从crispy_forms.layout导入布局、提交、Div、按钮文件夹
来自crispy_forms.bootstrap导入表单,PrependedText
类登录表单(forms.Form):
##用户字段
user=forms.CharField()
##密码字段
密码=forms.CharField(
widget=forms.PasswordInput()
)
##使用crispy表单创建表单
helper=FormHelper()
helper.form_方法='POST'
helper.form\u show\u labels=False
helper.layout=布局(
Div(
PrependedText('user','',placeholder='Username'),
PrependedText('password','',占位符='password',autocomplete='off'),
style='padding:0px;',
css_class='col-md-3'
),
Div(
钮扣工(
提交('Submit','Login'),css_class='col-md-12'
),css_class='row'
)
)
因此,以下是发生的情况,以供将来参考
base.html
(我没有发布)中有这一行
这里的错误是,我假设html的注释
也适用于Django的内联呈现语法{%}
,但事实并非如此(回顾这一点,我不知道为什么会这样想)。删除了html评论和中提琴!我花了大量的时间来解决这个问题。希望这对以后的人有用
感谢@Transformer解决了我的问题。您从何处调用登录页面,该页面出现错误,这意味着您给了它一个视图不需要的参数
url(r'here/',views.login\u user)
没有名称请参见我的答案。。试着让我知道我认为我的观点可能传递了两件事,而表单只期望一件事?“欢迎”来自哪里?是的,这就是我试图从你的代码中弄明白的