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 相关文章推荐
Django基础之Model操作步骤(介绍)
May 27 Python
python实现txt文件格式转换为arff格式
May 31 Python
Python DataFrame设置/更改列表字段/元素类型的方法
Jun 09 Python
Python实现压缩文件夹与解压缩zip文件的方法
Sep 01 Python
Python3中的bytes和str类型详解
May 02 Python
python日期相关操作实例小结
Jun 24 Python
django ModelForm修改显示缩略图 imagefield类型的实例
Jul 28 Python
Python在OpenCV里实现极坐标变换功能
Sep 02 Python
Python如何获取Win7,Win10系统缩放大小
Jan 10 Python
关于TensorFlow新旧版本函数接口变化详解
Feb 10 Python
python自动打开浏览器下载zip并提取内容写入excel
Jan 04 Python
写一个Python脚本下载哔哩哔哩舞蹈区的所有视频
May 31 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
smarty获得当前url的方法分享
2014/02/14 PHP
PHP实现HTML页面静态化的方法
2015/11/04 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
JQUERY CHECKBOX全选,取消全选,反选方法三
2008/08/30 Javascript
Jquery 1.42 checkbox 全选和反选代码
2010/03/27 Javascript
jquery+json 通用三级联动下拉列表
2010/04/19 Javascript
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
js里的prototype使用示例
2010/11/19 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
jQuery中选择器小问题(新人难免遇到)
2014/03/31 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
iScroll.js 使用方法参考
2016/05/16 Javascript
Jquery基础之事件操作详解
2016/06/14 Javascript
ajax实现动态下拉框示例
2017/01/10 Javascript
vue.js的提示组件
2017/03/02 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
2017/07/05 Javascript
highcharts 在angular中的使用示例代码
2017/09/20 Javascript
写一个Vue Popup组件
2019/02/25 Javascript
使用Python的Twisted框架编写简单的网络客户端
2015/04/16 Python
Python中__init__.py文件的作用详解
2016/09/18 Python
python生成excel的实例代码
2017/11/08 Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
2017/11/20 Python
python中有关时间日期格式转换问题
2019/12/25 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
自我反省检讨书
2014/01/23 职场文书
《雨霖铃》教学反思
2014/02/22 职场文书
机关党员进社区活动总结
2014/07/05 职场文书
正风肃纪查摆剖析材料
2014/10/10 职场文书
见习报告格式要求
2014/11/04 职场文书
2014年幼儿园教学工作总结
2014/12/04 职场文书
档案管理员岗位职责
2015/02/12 职场文书
2015初中教导处工作总结
2015/07/21 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书
el-table-column 内容不自动换行的解决方法
2022/08/14 Vue.js