首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击链接时URL编码的字符和未找到的页面

单击链接时URL编码的字符和未找到的页面
EN

Stack Overflow用户
提问于 2018-09-06 09:48:14
回答 1查看 39关注 0票数 1

我在使用Django 2.1时遇到以下错误:

代码语言:javascript
复制
Page not found (404)
Request Method: POST
Request URL:    http://localhost:8000/user-accounts/%5Eregister/
Using the URLconf defined in my_project.urls, Django tried these URL patterns, in this order:

admin/
user-accounts/ ^register/$ [name='register']
user-accounts/ ^login/$ [name='login']
user-accounts/ ^logout/$ [name='logout']
bank-accounts/
The current path, user-accounts/^register/, didn't match any of these.

当我点击我的base.html标题中的一个链接时,我在浏览器中得到了奇怪的url http://localhost:8000/user-accounts/%5Eregister/。base.html中的链接包括:

代码语言:javascript
复制
<li class="dropdown-header"><a href="{% url 'user-accounts:register' %}">Register</a></li>
<li class="dropdown-header"><a href="{% url 'user-accounts:login' %}">Login</a></li>

用户帐户应用程序urls.py:

代码语言:javascript
复制
from django.urls        import path
from django.contrib     import admin
from .                  import views

app_name = 'user-accounts'
urlpatterns = [
    path(r'^register/$', views.register, name='register'),
    path(r'^login/$', views.user_login, name='login'),
    path(r'^logout/$', views.user_logout, name='logout'),
]

项目urls.py:

代码语言:javascript
复制
from django.contrib import admin
from django.urls import path, include

from user_accounts.views import register

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', register),
    path(r'user-accounts/', include('user_accounts.urls')),
    path(r'bank-accounts/', include('bank_accounts.urls')),
]
EN

回答 1

Stack Overflow用户

发布于 2018-09-06 10:10:41

Django的新(>=2.0) path()函数不支持正则表达式。这就是为什么从字面上看,^字符是放在URL前面的。

如果您想继续使用正则表达式,请使用re_path()函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52195389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档