码迷,mamicode.com
首页 > 其他好文 > 详细

Django----路由控制

时间:2019-03-20 19:07:33      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:name   项目   报错   编写   col   url   应用程序   服务器   python函数   

一、概述

‘‘‘
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----路由控制

标签:name   项目   报错   编写   col   url   应用程序   服务器   python函数   

原文地址:https://www.cnblogs.com/lichunke/p/10566670.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!