from django.urls import re_path path
re_path(r'^login.html$', views.login),
path(r'login.html', views.login),
from django.urls import re_path
re_path(r'^test-(\d+)/', views.test), # 以位置判断参数
re_path(r'^url-(?P<nid>\d+)-(?P<uid>\d+).html', views.url), # 以名称判断参数,建议使用这种,不受传递参数位置改变影响
获取方法:
def test1(request, page):
print(page)
return render(request, 'test1.html')
def test2(request, **kwargs):
print(kwargs.get('nid', None), kwargs.get('uid', None))
return render(request, 'test2.html')
re_path(r'^index1/', views.index, name='i1'),
re_path(r'^index2/(\d+)/(\d+)/', views.index, name='i2'),
re_path(r'^index3/(?P<pid>\d+)/(?P<nid>\d+)/', views.index, name='i3'),
在 .py 文件中
from django.urls import reverse
def func(request, *args, **kwargs):
url1 = reverse('i1') # index1/
url2 = reverse('i2', args=(1,2,)) # index2/1/2/
url3 = reverse('i3', kwargs={'pid': 1, 'nid': 9}) # index3/1/9/
在 html 文件中
{% url "i1" %} # index1/
{% url "i2" 1 2 %} # index2/1/2/
{% url "i3" pid=1 nid=9 %} # index3/1/9/
project/urls.py:
from django.conf.urls import re_path, include
from django.contrib import admin
urlpatterns = [
re_path(r'^app01/', include("app01.urls")),
re_path(r'^app02/', include("app02.urls")),
]
app01/urls.py:
from django.conf.urls import re_path, include
from django.contrib import admin
from app01 import views
urlpatterns = [
re_path(r'^login/', views.login),
]
app02/urls.py:
from django.conf.urls import re_path, include
from django.contrib import admin
from app02 import views
urlpatterns = [
url(r'^login/', views.login),
]
原文:https://www.cnblogs.com/dbf-/p/10883606.html