简体   繁体   English

当前路径,与这些都不匹配

[英]The current path, didn't match any of these

So I have code below that is in django 1.8所以我有下面的代码在 django 1.8

from django.conf.urls import patterns, url
from account import views
from django.contrib.auth import views as auth_views


urlpatterns = patterns('',
    url(r'^$', views.index, name='profile'),
    url(r'^api/get_users/(?P<term>.*)', views.get_users),
    url(r'^leaderboard/(?P<board_type>.*)', views.leaderboard),
    url(r'^admintools/(?P<action>.*)', views.admintools),
)

I modified it to django 2.2我将其修改为 django 2.2

from django.conf.urls import  url
from . import views
from django.urls import re_path,path
from django.contrib.auth import views as auth_views


urlpatterns = [
    path('', views.index, name='profile'),
    path('api/get_users/(?P<term>.*)', views.get_users),
    path('leaderboard/(?P<board_type>.*)', views.leaderboard),
    path('admintools/(?P<action>.*)', views.admintools),
]

I get the error The current path account/admintools, didn't match any of these我收到错误当前路径帐户/管理工具,与这些都不匹配

"one of the easy solutions" to this problem is, usere_path(...) instead of path()这个问题的“简单解决方案之一”是,使用re_path(...)而不是path()

from django.urls import re_path
from account import views

urlpatterns = [
    re_path(r'^$', views.index, name='profile'),
    re_path(r'^api/get_users/(?P<term>.*)', views.get_users),
    re_path(r'^leaderboard/(?P<board_type>.*)', views.leaderboard),
    re_path(r'^admintools/(?P<action>.*)', views.admintools),
]

The re_path(...) function will do the same thing as the Django url(...) did. re_path(...)函数会做Django url(...)一样的事情

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM