首页 > 编程 > Python > 正文

Python中django学习心得

2020-02-16 10:57:30
字体:
来源:转载
供稿:网友

以下是作者在学习Python中django框架时的学习笔记,并把测试的代码做了详细分析,最后还附上了学习心得,值得大家学习。

URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。

'''
urlpatterns = [
url(正则表达式, views视图函数,参数,别名),
]
参数说明:
一个正则表达式字符串
一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串
可选的要传递给视图函数的默认参数(字典形式)
一个可选的name参数
'''

一、url的反向解析

如上述,url中的正则表达式即为请求的路径,根据路径匹配执行对应的视图函数,如下,当我们请求路径符合正则表达式要求,就会执行对应的login函数:

其中login函数为:

login.html文件为:

根据以上我们所写的代码逻辑,当通过get请求/login/路径时,我们执行符合此请求路径对应的login()函数,函数渲染一个login.htl的登录页面,当用户验证完信息点击提交按钮时,再次以post形式请求/login/对应的login()函数。

但是,在某些情况下,我们需要更改请求路径的正则表达式,即更换一个请求路径,这时候我们就需要对上述的url中的正则表达式和login.html中的提交路径同时进行更改成我们想要的,但是当我们有很多个文件和位置都有请求/login/的时候,我们一个个的手动的更改显然不是很合理。这就需要用到反向解析,也就是url中别名参数的作用,具体实例如下:

以上即称为反向解析,无论url中请求路径的如何更改,只要别名不改,程序中对此函数的请求都可以通过别名反向解析的形式找到。

二、Including other URLconfs

django项目中创建应用的命令为:

python manage.py startapp app01(app01为项目名)

在django项目创建后,会有一个url.py文件,用于映射不同请求路径对应的函数,但是当我们一个django项目中有很多应用的话,各个项目的url的映射关系均放在此文件中显然不妥,不利于代码间的解耦。此时需要在此url文件中设置Including other URLconfs,设置后各应用对应的url映射关系就可以放在应用自己目录下urls.py文件中。如下:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表