| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Django 之视图url参数获取 -> 正文阅读 |
|
[Python知识库]Django 之视图url参数获取 |
Django
中的视图主要是负责接受
Web
请求
HttpRequest
,同时进行逻辑处理,并返回
Web
响应
HttpResponse给请求者。
通过创建一个 webtest2 项目以及创建一个 book 应用为例进行说明
进入
webtest2
项目目录,并创建
book
应用,命令如下:
在
webtest2/settings.py
中
INSTALLED_APPS
项安装应用
在
webtest2/settings.py
中
DATABASES
项配置使用
MySQL
数据库
dbtest
创建模板目录结构 templates/book,如下:
在
webtest2/settings.py
中
TEMPLATES
项配置模板查找路径:
跳转webtest2/webtest2/__init__.py
文件,写入代码:
大概配置好了可以跳转了,使用命令启动 Django 服务器:python manage.py runserver 这时候在编译器中可以看到:
点击倒数第二行的 htto://127.0.0.1:8000/ ?
实际上,视图就是一个
Python
函数,被定义在
"
应用
/views.py"
文件中。使用视图时需要进行两方面操作,分 别是定义视图、配置 URL
,且两个操作不分先后顺序。
在
webtest2/book/views.py
文件中定义一个视图函数:
在webtest2>>>templates>>>book>>>创建一个index.html
重要的一步来了,即配置
URL
,将视图函数和
url
对应起来,在
webtest2/urls.py
中:
?
在
book
目录下创建
urls.py
文件并编辑其内容:
启动服务器并通过浏览器访问 http://127.0.0.1:8000/index,可以看到就是打开index.html页面的样子:
当请求的 url 被看做是一个普通的 Python 字符串且进行匹配时,通常是不包括域名、get 或 post 参数的。请求地址如下: http://127.0.0.1:8000/show1?hello=666 ①若去除掉域名和参数部分,并将最前面的/去除后,只剩下如下部分与正则匹配,如下: show ②此时,打开 book/urls.py 文件,定义与这个地址匹配的 url 如下: url(r'^show$',views.show), # 定义 url ③在 book/views.py 中补充创建视图函数 show()
我们可以在匹配过程中从 url 中捕获参数,并把每个捕获的参数都作为一个普通的 Python 字符串传 递给视图的。获取值需要在正则表达式中使用小括号表示,下面两种方式完成:
(1)
位置参数;
(2)
关键字参数。
1:位置参数 此时,可以直接使用小括号,并通过位置参数传递给视图。以下是详细步骤: ①为了提取参数值,我们可以修改上面的正则表达式如下: url(r"^show(\d+)$",views.show), ②修改视图函数 show(),如下:
③完成上述操作后,在地址栏输入如下地址: http://127.0.0.1:8000/show666 ?2:关键字参数 此时,可以在正则表达式部分为组命名,这就是关键字参数,需要使用到的正则表达式为组命名
①修改正则表达式,其中,?P 部分表示为这个参数定义的名称为 bid[注:后边使用时,必须写相同的名称], 也可以是其它名称,如下: url(r"^show(?P<bid>\d+)$",views.show), ②修改视图 show()函数,注意该视图函数 show()必须要有一个参数名为 bid,否则报错:
Django 文档 | Django 文档 | Django (djangoproject.com) 有兴趣可以自行阅读 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 6:03:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |