Python Django项目和应用的创建详解


Posted in Python onNovember 27, 2021

创建一个Django项目

创建一个名为project的Django项目,在cmd命令行输入

django-admin startproject project

输入命令完会生成一个名叫project的项目包,包内一个manage.py文件和项目名同名的project包。

  • manage.py文件: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。

project包里面我们可以查看到的目录结构:

  • project/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
  • project/settings.py: 该 Django 项目的设置/配置。
  • project/urls.py: 该 Django 项目的 URL 声明; 这是项目的根路由。
  • project/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目

settings.py项目配置文件

创建完项目后,在项目同名的project目录内有一个settings.py 文件,这个配置文件用于配置和管理Django项目的运维信息。

settings.py配置文件中的所有配置项都是大写的,项目创建时,就初始化了一些默认配置,这些默认配置承载着最基础的项目信息。

其中常用的配置项有:

  • DATABASES :数据库配置
  • TEMPLATES:配置HTML页面的模板地址templates
  • STATICFILES_DIRS :配置静态文件
  • MIDDLEWARE :配置中间件
  • DEBUG:默认为True,项目上线时改为False
  • ALLOWED_HOSTS:限定请求中的host值

urls.py路由系统

Django的路由系统作用是使views中处理数据的函数与请求的url建立映射关系。

请求到来之后,根据urls.py里的关系条目,查找到与请求对应的处理方法,从而返回数据给客户端http页面。

Python Django项目和应用的创建详解

在Django1.x版本中url映射一般是一条正则表达式,“^” 字符串的开始,“$“ 字符串的结束。项条目从头开始进行逐一对比,一旦遇到匹配项,立即执行该条目映射的视图函数或二级路由,其后的条目将不再继续匹配。因此,url路由的编写顺序至关重要!

在Django1.x中,一个url映射条目至少有两个参数,一个是正则规则,一个是视图函数,代码如下:

from django.conf.urls import url  # url()方法导入方式
url(r'^test/$',views.test)    # django2中使用re_path替换url

在Django2.x版本中路由映射使用 path() 或 re_path() 方法,path()没有了正则的那些规则,直接匹配字符串,re_patah() 用法和url()一样,path()的运用如下:

from django.urls import path,re_path    # path()方法的导入方式
path('test/',views.test)        # 不需要使用 ^ $ 等正则规则

注意:本课程中使用re_path()的正则匹配,可自行选择path()或re_path()。

当有多个应用(App)时,我们会在每个App里,各自创建一个urls.py路由模块,然后从根路由出发,将app所属的url请求,全部转发到相应的urls.py模块中。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注三水点靠木的更多内容!

Python 相关文章推荐
python3图片转换二进制存入mysql
Dec 06 Python
跟老齐学Python之变量和参数
Oct 10 Python
使用Python实现BT种子和磁力链接的相互转换
Nov 09 Python
Python-嵌套列表list的全面解析
Jun 08 Python
总结用Pdb库调试Python的方式及常用的命令
Aug 18 Python
python中defaultdict的用法详解
Jun 07 Python
python检测空间储存剩余大小和指定文件夹内存占用的实例
Jun 11 Python
修复 Django migration 时遇到的问题解决
Jun 14 Python
python程序控制NAO机器人行走
Apr 29 Python
python读取word 中指定位置的表格及表格数据
Oct 23 Python
python 检查数据中是否有缺失值,删除缺失值的方式
Dec 02 Python
python实战之用emoji表情生成文字
May 08 Python
python playwright 自动等待和断言详解
Nov 27 #Python
Python实现制作销售数据可视化看板详解
Python 如何利用ffmpeg 处理视频素材
实操Python爬取觅知网素材图片示例
Python函数中apply、map、applymap的区别
Nov 27 #Python
python字符串拼接.join()和拆分.split()详解
Nov 23 #Python
Python装饰器的练习题
Nov 23 #Python
You might like
PHP中break及continue两个流程控制指令区别分析
2011/04/18 PHP
浅析php中常量,变量的作用域和生存周期
2013/08/10 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
2014/07/12 PHP
CI框架中redis缓存相关操作文件示例代码
2016/05/17 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
2019/06/06 PHP
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
element-ui的回调函数Events的用法详解
2018/10/16 Javascript
详解如何在Vue项目中发送jsonp请求
2019/10/25 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
JS实现移动端可折叠导航菜单(现代都市风)
2020/07/07 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
linux环境下安装pyramid和新建项目的步骤
2013/11/27 Python
浅析Python多线程下的变量问题
2015/04/28 Python
python 爬取微信文章
2016/01/30 Python
Python学习小技巧之利用字典的默认行为
2017/05/20 Python
Python用imghdr模块识别图片格式实例解析
2018/01/11 Python
python实现点对点聊天程序
2018/07/28 Python
python根据文本生成词云图代码实例
2019/11/15 Python
Python笔记之观察者模式
2019/11/20 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
解决Python3下map函数的显示问题
2019/12/04 Python
Python多线程获取返回值代码实例
2020/02/17 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
python opencv实现图像配准与比较
2021/02/09 Python
Lands’ End官网:经典的美国生活方式品牌
2016/08/14 全球购物
英国现代家具和照明购物网站:Heal’s
2019/10/30 全球购物
Hammitt官网:设计师手袋
2020/05/23 全球购物
化工专业大学生职业生涯规划书
2014/01/14 职场文书
学校教师安全责任书
2014/07/23 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
高三语文复习计划
2015/01/19 职场文书
2015年会计年终工作总结
2015/05/26 职场文书