django中“url映射规则”和“服务端响应顺序”

1、django检索途径

应用 import 句子时,Python 所搜索的系统目录明细。

查询方法:

import sys

print sys.path

通常不用关注 Python 检索途径的设定,Python 和 Django 会在后台管理全自动帮你解决好。

2、url模式匹配

基本上构造:

'^必须配对的url字符串数组$'

PS:事实上最后详细的url串是http://根途径:端口/必须配对的url字符串数组

一键加上的一部分'http://根途径:端口/'

eg:url模式匹配:'^latest_books/$'

最后详细的url字符串数组:'http://127.0.0.1:8000/latest_books/'

1)^:配对“字符串函数头”。

eg:

'^latest_books/'

'http://127.0.0.1:8000/latest_books/',

'http://127.0.0.1:8000/latest_books/test1/',

'http://127.0.0.1:8000/latest_books/test2/',

'http://127.0.0.1:8000/latest_books/test1/aaa/'

都是会被配对上。

2)$:匹配“字符串函数末尾”。

eg:

'latest_books/$'

'http://127.0.0.1:8000/latest_books/',

'http://127.0.0.1:8000/updir_1/latest_books/',

'http://127.0.0.1:8000/updir_2/latest_books/'

都是会被配对上。

3)字符串函数结尾是不是包括'/'

默认设置状况下务必加上(django开发人员的基本上习惯性),如果不加上可能发生如下所示状况:

from django.conf.urls import patterns, url, include

urlpatterns = patterns('',

(r'^latest_books$', 'django_web_app.views.latest_books'),

)

 

假如字符串函数结尾不愿包括'/',可在setting.py中加上设定:APPEND_SLASH=False

可是务必安裝了CommonMiddleware才会起功效。

4)手动式配备网址“网站根目录”

在没有手动式配备网址“网站根目录”相匹配“主视图函数公式”的情形下,会产生如下所示状况:

手动式配备“网站根目录”相匹配“主视图函数公式”:

a)urls.py

from django.conf.urls import patterns, url, include

urlpatterns = patterns('',

(r'^$','django_web_app.views.home_page'),

(r'^latest_books/$', 'django_web_app.views.latest_books'),

)

 

b)views.py

def home_page(request):

return render_to_response('home_page.html')

 

c)home_page.html

<!DOCTYPE html>

<html>

<head>

<title>my home page</title>

</head>

<body>

<h1>This is home page, welcome !</h1>

</body>

</html>

 

运作結果:

 

附:正则表达式基本

3、服务器端回应url要求的实行次序

1)新项目构造

django_web

._init__.py

settings.py

urls.py

wsgi.py

django_web_app

._init__.py

admin.py

models.py

tests.py

views.py

templates

home_page.html

latest_books.html

manage.py

2)实行次序

a)运行服务器端——python manage.py runserver

获得setting.py文件中的配备,主要包含:

url投射关联文件路径:

ROOT_URLCONF = 'django_web.urls'

页面文件模版途径:

TEMPLATE_DIRS = (

os.path.join(BASE_DIR, 'templates'),

)

数据库查询配备:

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': 'django_db',

'USER': 'root',

'PASSWORD': 'feng',

'HOST': '127.0.0.1',

'PORT': '3306',

}

}

 

b)回应次序

第一步:电脑浏览器递交要求

http://127.0.0.1:8000/latest_books/

第二步:服务器端依据要求的url在urls.py中开展配对,并寻找相应的“主视图函数公式”

第三步:读取相匹配的“主视图函数公式” 回到一个HttpResponse目标

第四步:django变换HttpResponse目标为一个合适的HTTP response,并回到给网页页面开展表明

 

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)
如需 WordPress 优化加速、二次开发、网站维护、企业网站建设托管等服务,可联系我购买付费服务:点此联系我 | 近期站内热门福利推荐:

:本文采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可, 转载请附上原文出处链接。
1、本站提供的源码不保证资源的完整性以及安全性,不附带任何技术服务!
2、本站提供的模板、软件工具等其他资源,均不包含技术服务,请大家谅解!
3、本站提供的资源仅供下载者参考学习,请勿用于任何商业用途,请24小时内删除!
4、如需商用,请购买正版,由于未及时购买正版发生的侵权行为,与本站无关。
5、本站部分资源存放于百度网盘或其他网盘中,请提前注册好百度网盘账号,下载安装百度网盘客户端或其他网盘客户端进行下载;
6、本站部分资源文件是经压缩后的,请下载后安装解压软件,推荐使用WinRAR和7-Zip解压软件。
7、如果本站提供的资源侵犯到了您的权益,请邮件联系: 1798582342@qq.com 进行处理!

文章版权及转载声明

作者:有趣本文地址:https://www.zyhao.net/295682.html最后更新时间为 2022年01月23日 星期日 17:45:29
文章转载或复制请以超链接形式并注明来源出处 有趣源码
声明:某些文章或资源具有时效性,若有 错误 或 所需下载资源 已失效,请联系客服QQ:11210980

有趣源码,优质资源分享网

常见问题
  • 本站所有资源版权均属于原作者所有,均只能用于参考学习,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,建议提前注册好百度网盘账号,使用百度网盘客户端下载
查看详情

相关文章