当前位置: 首页 > 面试题库 >

Django的NoReverseMatch

万德海
2023-03-14
问题内容

我在django 1.6(和python 2.7)中制作了一个简单的登录应用程序,但在开始时出现错误,这让我无法继续。

这是网站的url.py

from django.conf.urls import patterns, include, url
from django.contrib import admin
import login

admin.autodiscover()

urlpatterns = patterns('',
    url(r'^$', include('login.urls', namespace='login')),
    url(r'^admin/', include(admin.site.urls)),
)

这是login / urls.py:

from django.conf.urls import patterns, url
from login import views

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
    url(r'^auth/', views.auth, name='auth'),
)

这是登录名/视图,py

from django.shortcuts import render
from django.contrib.auth import authenticate

def auth(request):
    user = authenticate(username=request.POST['username'], password=request.POST['password'])
    if user is not None:
        # the password verified for the user
        if user.is_active:
            msg = "User is valid, active and authenticated"
        else:
            msg = "The password is valid, but the account has been disabled!"
    else:
        # the authentication system was unable to verify the username and password
        msg = "The username and password were incorrect."
    return render(request, 'login/authenticate.html', {'MESSAGE': msg})

def index(request):
    return render(request, 'login/login_form.html')

我有一个将其作为操作的表格:

{% url 'login:auth' %}

这就是问题所在,当我尝试加载页面时,我得到:

Reverse for 'auth' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'$auth/']

但是如果我将网址格式设置为

url(r'', views.auth, name='auth')

它工作正常,只有将操作设置为“ /”。

我一直在寻找答案,但我不明白为什么它不起作用。

我尝试将登录url模式更改为url(r’^ login / $’,include(’login.urls’,namespace =’login’)),但没有任何改变。


问题答案:

问题在于您将身份验证URL包含在主要的URL中。因为您同时使用了^和$,所以只有空字符串匹配。删除$。



 类似资料:
  • PyCharm的一个特性是它包含对Django的支持。 能够在PyCharm中包含JavaScript功能,它可以被认为是Django的最佳IDE。 在PyCharm IDE中创建Django项目的基本步骤如下 - 如果启用了EnableDjangoadmin选项,PyCharm将为您设置管理站点。 模板调试 调试适用于Django和Jinja模板。 我们可以检查变量,逐步执行代码,并在调试器中执

  • 问题内容: 我在执行get请求而不是在post请求期间收到此 错误 。 错误:- / StartPage /处的MultiValueDictKeyError 请求方法:GET请求URL: Django版本:1.4异常类型:MultiValueDictKeyError异常值: “在“中找不到密钥’用户名’ views.py urls.py main_page.html Start_Page.html

  • 问题内容: 所以我有个约会模特 我想在工具中实现这一点。我不确定如何开始。任何帮助表示赞赏。谢谢。 问题答案: 由于您的问题表明您没有尝试过任何东西,因此猜测您知道javascript,并尝试了一些完整的日历js。 假设您有一个名为Event的模型,用于在日历中显示不同的事件。 在您的views.py中 最后在模板中设置完整日历,其中包括必要的CSS,JS文件和HTML代码。然后, 动态地处理某些

  • Django 是一个高级 Python Web 框架,鼓励快速开发和简洁实用的设计。Django 使你可以更轻松地以更少的代码更快地构建更好的 Web 应用程序。 Django 框架的核心组件有: 用于创建模型的对象关系映射 为最终用户设计的完美管理界面 一流的 URL 设计 设计者友好的模板语言 缓存系统 示例代码: from django.template import Context, lo

  • 问题内容: 我在使用带有JSONField的ArrayField插入字段时遇到问题。 models.py 插 当我这样做时,我得到了 列“ locations”的类型为jsonb [],但表达式的类型为text [] 第1行:… d“ = 2517,”位置“ = ARRAY [‘{” loc … 提示:您将需要重写或强制转换表达式。 所以我尝试使用以下方法转储它: 然后我得到了 第1行:… d“

  • 问题内容: 我想知道是否有人将Django REST框架与django-polymorphic相结合的Pythonic解决方案。 鉴于: 如果我想要django-rest- framework中所有GalleryItem的列表,它只会给我GalleryItem(父模型)的字段,因此是:id,gallery_item_field和polymorphic_ctype。那不是我想要的 我想要custom