Django----路由控制

Posted lichunke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django----路由控制相关的知识,希望对你有一定的参考价值。

一、概述

‘‘‘
URL是服务器的入口,用户通过浏览器发送过来的任何请求,都是发送到一个指定的url地址,然后被响应
在Django项目中编写路由,就是向外界暴露我们接收哪些url请求,除此之外的任何url都不被处理,也没有返回。通俗的理解,url就是web服务对外暴露的api 
要设计应用程序的url,可以创建一个非正式的称为URLconf的Python模块。此模块是纯Python代码,是URL路径表达式与Python函数之间的映射
‘‘‘

、简单的路由配置

from django.conf.urls import url
from django.contrib import admin
from app01 import views      # 导入后端逻辑

urlpatterns = [
    url(正则表达式,views视图函数,参数,别名),
]
  • 正则表达式:一个正则表达式字符串,每个正则表达式前面的r是可选的但是建议加上,它是告诉Python这个字符串是原始的,字符串中的任何字符都不能转义 
  • views视图函数:一个可调用的对象,通常为一个视图函数或一个指定视图函数路径的字符串
  • 参数:可选的要传递给视图的默认参数(字典形式)
  • 别名:一个可选的name参数
  • urlpatterns中的元素是书写顺序从上往下逐一匹配正则表达式,一旦匹配成功则不再继

path  re_path  path的区别:

 

‘‘‘
url格式: url(r‘^admin/‘, admin.site.urls)
    需要到导入url模块: from django.conf.urls import url 
    可用使用正则表达式
    Django1.0中使用
re_path: re_path(r‘^publish/([0-9]{4})/([0-9]{2})$‘,views.publish),
    Django2.0中使用,完全兼容url
需要导入re_path模块: from django.urls import re_path
path:
需要导入path模块: from django.urls import path 不能使用正则表达式,2.0独有
‘‘‘

三、django2.0版的path 

 

from django.contrib import admin
from django.urls import path
from app01 import views

urlpatterns = [
    path(admin/, admin.site.urls),
    path(server/<int:proj_id>/,views.proj_detail)
]

 

 

 

 

四、无名分组

  • 按位置传参
  • 分组后,会把分组出来的数据,当做位置从参数传给视图函数,视图函数必须要定义形参接收,否则报错
  • url示例:re_path(r‘^publish/([0-9]{4})/([0-9]{2})$‘,views.publish),
  • 视图函数示例:def publish(request,*args):

 

以上是关于Django----路由控制的主要内容,如果未能解决你的问题,请参考以下文章

Django - 路由控制

Django的路由控制

Django----路由控制

Django路由控制

Django之路由控制配置

Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段