python 路由转发_django介绍及路由系统

本文详细介绍了Python的Web框架Django中的路由系统,包括Django与其他框架的比较、MVC与MTV模式的区别、Django流程、URL配置、路径转换器、错误页面处理、路由转发等内容,通过实例展示了如何配置和使用Django的URL路由,以及URL的正向和反向解析。
摘要由CSDN通过智能技术生成

第一:Python的web框架介绍

Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。

第二:MVC和MTV介绍

MVC介绍:

M:model,模型,是应用程序中用于处理应用程序数据逻辑的部分,主要是负责对数据库进行读写。

V:view,视图,是应用程序中处理数据显示的部分,通常视图是依据模型中的数据创建的。

C:controller,控制器,是应用程序处理与用户交互的部分,通常控制器负责从视图中去读取数据,也向模型去发送数据。

MTV与MVC两者区别与联系:

MTV与MVC这两种模式没有根本上的区别,他们都是让复杂的程序在各个组件之间保持松耦合关系,区别只是名字不同,叫法不同而已。

MTV介绍:

M:Model(模型):负责业务对象与数据库的对象(ORM)

T:Template(模版):负责如何把页面展示给用户

V:View(视图):负责业务逻辑,并在适当的时候调用Model和Template

另外,Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

第三:django的流程介绍

注:本篇博客采用的是django2.0介绍

django简易流程图:

django简单安装配置

django

#安装: pip3 install django

添加环境变量

#1创建project

django-admin startproject mysite---mysite---settings.py---url.py---wsgi.py----manage.py(启动文件)

#2创建APP

python mannage.py startapp app01

#3settings配置

TEMPLATES

STATICFILES_DIRS=(

os.path.join(BASE_DIR,"statics"),

)

STATIC_URL= '/static/'# 我们只能用 STATIC_URL,但STATIC_URL会按着你的STATICFILES_DIRS去找#4根据需求设计代码

url.py

view.py

#5使用模版

render(req,"index.html")

#6启动项目

python manage.py runserver127.0.0.1:8090#7连接数据库,操作数据

model.py

如果用pycharm可以直接建的哦!

目录详细解释:

如果用命令行创建,只会有以下几个目录:

django-admin.py startproject mysite

django-admin.py 是Django的一个用于管理任务的命令行工具,manage.py是对django-admin.py的简单包装,每一个Django Project里都会有一个mannage.py。

manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。

settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。

urls.py ----- 负责把URL模式映射到应用程序。

用python manage.py startapp app

运行python manage.py runserver 8000 或者直接用pycharm运行

此时,django已经安装成功

现在我们就写一个例子:

mysite的urls:

fromdjango.contrib import adminfromdjango.urls import path,include

urlpatterns=[

path('admin/', admin.site.urls),

path('app01',include('app01.urls')),

]

app01的urls:

fromdjango.urls import pathfrom. import views

urlpatterns=[

path('', views.index, name='index'),

]

app01的views:

fromdjango.shortcuts import renderfromdjango.http import HttpResponse

def index(request):return HttpResponse("Hello, ylqh.")

访问:

第一个简易的django流程完成

第四:django的url(path)

URL配置(URLconf)就像Django 所支撑网站的目录。是高质量Web应用程序中的一个重要细节,其实质就是通过url指到相应的视图函数

Django可以让你设计URL,没有.php或没有.cgi要求。

url()函数可以传递4个参数,其中2个是必须的:正则和view,以及2个可选的参数:kwargs和name

urlpatterns =[

path(正则表达式, views视图函数,参数,别名),

]

参数说明:

1:正则表达式,它是一种匹配字符串或url地址的语法

2:一个可调对象,通常为一个视图函数或者一个指定视图函数的字符串。如果是简单捕获,那么捕获的值将作为一个位置参数进行传递,如果是命名捕获,那么将作为一个关键字参数。

3:可选的任意数量的关键字参数可以作为一个字典传递给目标视图。

4:可选的name参数,对你的URL进行命名,可以让你能够在Django的任意处,尤其是模板内显式地引用它。相当于给URL取了个全局变量名,你只需要修改这个全局变量的值,在整个Django中引用它的地方也将同样获得改变

一:简单示例

django1.x 系列:

fromdjango.conf.urls import urlfromdjango.contrib import adminfromapp01 import views

urlpatterns=[

url(r'^articles/2018/$', views.special_case_2018),

#url(r'^articles/[0-9]{4}/$', views.year_archive),

url(r'^articles/([0-9]{4})/$', views.year_archive), #no_named group

url(r'^articles/([0-9]{4})/([0-9]{2})/$', views.month_archive),

url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', views.article_detail),

]

dgango2.0 系列:

urlpatterns =[

path('index/', views.index),

path('articles/2018/', views.special_case_2018),

path('articles//', views.year_archive),

path('articles///', views.month_archive),

path('articles', views.article_detail),

]

注意:1:要从url中捕获值,请使用尖括号:<>

2:捕获的值可以选择包含转换器类型。例如:  捕获整数参数。

3:没有必要添加一个前斜杠

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值