Django来敲门~第一部分【4. 创建第一个模块应用】
来源:互联网 发布:软件发布 编辑:程序博客网 时间:2024/05/21 08:59
大成若缺,其用不弊。大盈若冲,其用不穷。大直若屈。大巧若拙。大辩若讷。静胜躁,寒胜热。清静为天下正
——老子《道德经》
本章内容
- 创建应用(app)
- 开发第一个视图(View)
- URL访问配置的嵌套(urls)
1. 创建项目的子模块应用
上一节内容中,我们创建了一个django项目mysite/,在项目的骨架的基础上,我们再创建基于项目的一个子模块投票模块,模块名称暂时定义为polls
进入项目目录,执行如下命令,在mysite/项目基础上创建一个模块应用polls
python3 manage.py startapp polls
上述命令执行完成之后,会在我们的项目文件夹中,自动生成一个polls应用模块文件夹,包含模块需要的基本文件结构,如下:
2. 创建模块应用中的第一个视图
模块中的视图对应的是views.py
文件,打开polls/views.py
文件,创建如下的方法
# 引入需要的模块from django.http import HttpResponse# 定义一个处理方法def index(request): return HttpResponse("Hello Django!")
视图创建完成后,我们要将视图和对应的URL地址进行关联,项目中的url地址映射的主要配置文件是urls.py
,在polls
模块中创建urls.py
配置文件,并修改polls/urls.py
文件内容如下:
# 引入需要的模块from django.conf.urls import urlfrom . import views# 配置url地址和view视图的映射关系urlpatterns = [ url(r"^$", views.index, name="index")]
配置好我们模块应用中的urls地址映射之后,需要将这个模块的映射关系包含到我们的根模块mysite
的映射关系中才能生效,编辑mysite/urls.py
修改如下:
from django.conf.urls import include, urlfrom django.contrib import adminurlpatterns = [ url(r"^admin/", admin.site.urls), url(r"^polls/", include("polls.urls"))]
在上述配置中,我们通过urlpatterns来关联映射关系,整体关系如下图所示:
1.客户端发起请求:http://localhost:8000/polls
2.项目接收到用户请求,url地址->
polls/
3.进入项目的映射文件
urls.py
中进行正则匹配:url(r"^polls", include("polls/urls"))
,开始打开通过include
包含的polls.urls
子模块映射文件polls/urls.py
4.进入项目子模块
polls
的映射文件中进行匹配,由于polls/
路径已经匹配通过,开始匹配polls/
后面的路径-> 路径为:"";
进入polls/urls.py
中查找对应的路径->url(r"^$", view.index, name="index")
5.匹配到views.index,开始打开子模块的
views.py
视图文件,执行index
视图方法6.
views.py
中的视图方法index()
返回了一条字符串,打印到我们浏览器的页面上
OK,经过上面的分析之后,我们启动项目python3 manage.py runserver
,然后通过浏览器进行访问
附注:url(regex, view, kw, name)参数解析
- 参数regex:这是一个正则表达式,用于匹配接收到的url路径,Django会按照顺序进行正则表达式的匹配,匹配成功就会调用指定的资源
- 参数view:当第一个正则表达式的路径匹配成功时,Django就会开始调用view参数指向的视图函数,并且将django.http.HttpRequest内置对象作为函数的第一个参数传递给函数并且调用执行函数
- 参数kw:任意关键字都可以作为参数传递给函数
- 参数name:给当前的url命名,命名之后就可以在任意地方使用这个url
- Django来敲门~第一部分【4. 创建第一个模块应用】
- Django来敲门~第一部分【3. 创建第一个项目】
- Django来敲门~第一部分【5.3.后台管理模块】
- Django来敲门~第一部分【1.概述】
- Django来敲门~第一部分【2. 安装】
- Django来敲门~第一部分【5.2.模型和数据库交互】
- Django来敲门~第一部分【6.1 视图函数】
- Django来敲门~第一部分【6.2 HTML视图模板】
- Django来敲门~第一部分【5.1.项目配置settings.py详解】
- 编写第一个Django应用:第二部分
- 编写你的第一个Django应用, 第一部分
- 四、创建第一个Django页面应用
- 第一个Django应用
- django 第一个应用
- 第一个Django应用
- Django tutorial(1)【翻译】编写第一个Django app,第一部分——创建项目
- Django官方教程(三)【创建你的第一个 Django 项目,第一部分】
- 编写你的第一个Django应用, 第二部分
- P1481 魔族密码
- 1166: 阶乘问题(一) [数学
- 第一次使用Android Studio时你应该知道的一切配置(一)
- SQL Server 事务隔离级别详解
- CODESOFT6 二维码中追加回车
- Django来敲门~第一部分【4. 创建第一个模块应用】
- hibernate 连接超时
- Plug-in 编辑器
- nginx配置支持websocket
- 使用git克隆指定分支的代码
- 给TextView添加行分割线
- OpenGL蓝宝书源码学习(十五)第六章——FlatShader.cpp
- 普元NUI使用参考文档以及示例
- 如何在CentOS 7上修改主机名hostname