Django(三): url管理系统

url系统:  urls.py
1>. 导入 from django.conf.urls import url
2>. 基本格式:
urlpatterns = [
url(正则表达式, views视图函数,参数,别名),
]
url分类:
3>. 无命名分组:
url(r'^article/(\d{4})/(\d{2})',views.article), # 无命名分组,注意article视图函数要传参

4>. 有命名分组:
url(r'^article/(?P<year>\d{4})/(?P<month>\d{2})',views.article), # 有命名分组, 视图函数一定要按前端命名要求传参

5>. 别名: 不将前端url写死
1>>. 供前端表单使用,不会将前端url写死
url(r'^register/', views.register, name='reg') # 别名
2>>. 通过模板动态调用
<form action="{% url 'reg' %}" method="post">
3>>. 模板中传参
{% url 'reg' param1 param2 %} # 无名分组传参 r'^all/(\d+)'
{% url 'reg' name=para1 %} # 有命名分组传参 r'^all/(?<name>\d+)'
4>>. view中传参
reverse('reg',args=(1,)) # 无命名分组
reverse('reg',kwargs={'name':1}) # 有命名分组

urls分流:
1>. DjangoWeb项目urls.py中为主系统
urlpatterns = [
path('admin/', admin.site.urls),
path('blog/', include('blog.urls')) # 通过include('blog.urls') 导入
]
2. 具体app(blog)urls.py 为分系统
urlpatterns = [
url(r'userInfo/',views.userInfo),
url(r'^article/(\d{4})/(\d{2})',views.article), # 无命名分组
url(r'^article/(?P<year>\d{4})/(?P<month>\d{2})',views.article), # 有命名分组
url(r'^register/', views.register, name='reg') # 别名
]

# 浏览器访问时:
# http://127.0.0.1:8080/blog/register/

分类: url
分页: 分页器
posted @ 2019-05-15 19:31  lancelotxly  阅读(233)  评论(0编辑  收藏  举报