Python Django URL复杂的模式和路径
我正在尝试生成嵌套的url路径。到目前为止,我只能生成1级URL。当我尝试第二级url时,它不再被调用,它仍然只显示第一级url,尽管浏览器上的地址栏确实指向第二级url。这是可能的还是我需要创建一个新的应用程序 url.pyPython Django URL复杂的模式和路径,python,django,Python,Django,我正在尝试生成嵌套的url路径。到目前为止,我只能生成1级URL。当我尝试第二级url时,它不再被调用,它仍然只显示第一级url,尽管浏览器上的地址栏确实指向第二级url。这是可能的还是我需要创建一个新的应用程序 url.py from django.conf.urls import url, include from django.views.generic import ListView, DetailView, TemplateView from dashboard.models impo
from django.conf.urls import url, include
from django.views.generic import ListView, DetailView, TemplateView
from dashboard.models import IPARate,PCPRate
from dashboard import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^medicare/', ListView.as_view(queryset=IPARate.objects.all().order_by("id"), template_name='dashboard/medicare.html')),
url(r'^medicare/medicarepcp/$', ListView.as_view(queryset=PCPRate.objects.all().order_by("id"), template_name='dashboard/medicarepcp.html')),
url(r'^medicare/', views.medicaid, name='medicare'),
url(r'^medicare/medicarepcp/$', views.medicarepcp, name='medicarepcp'),
]
您需要在r'^medicare/
regex中添加一个美元(行尾字符),以便它与/medicare/
匹配,但与其他URL(如medicare/medicarepcp/
)不匹配
url(r'^medicare/$', ListView.as_view(queryset=IPARate.objects.all().order_by("id"), template_name='dashboard/medicare.html')),
url(r'^medicare/medicarepcp/$', ListView.as_view(queryset=PCPRate.objects.all().order_by("id"), template_name='dashboard/medicarepcp.html')),
第三个和第四个正则表达式分别与第一个和第二个相同。Django将始终匹配前两个URL模式,因此您需要将第三个和第四个URL模式更改为其他模式 您需要在r'^medicare/
regex中添加一个美元(行尾字符),以便它与/medicare/
匹配,但与其他URL(如medicare/medicarepcp/
)不匹配
url(r'^medicare/$', ListView.as_view(queryset=IPARate.objects.all().order_by("id"), template_name='dashboard/medicare.html')),
url(r'^medicare/medicarepcp/$', ListView.as_view(queryset=PCPRate.objects.all().order_by("id"), template_name='dashboard/medicarepcp.html')),
第三个和第四个正则表达式分别与第一个和第二个相同。Django将始终匹配前两个URL模式,因此您需要将第三个和第四个URL模式更改为其他模式 URL的顺序很重要,因为Django将对与请求匹配的第一个URL模式作出反应。一个好习惯是将所有的“子”URL放在第一位,然后将该部分的顶层放在最后,这样,如果没有其他匹配的URL(即,将您的“^medicare/$”放在最后),它就可以作为一种后援。URL的顺序很重要,因为Django将对匹配请求的第一个URL模式做出反应。一个好习惯是将所有的“子”URL放在第一位,然后将该部分的顶层放在最后,这样,如果没有其他匹配的URL(即将您的“^medicare/$”放在最后),它就可以作为一个后备