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 相关文章推荐
Python魔术方法详解
Feb 14 Python
归纳整理Python中的控制流语句的知识点
Apr 14 Python
利用python3随机生成中文字符的实现方法
Nov 24 Python
Python实现判断一个整数是否为回文数算法示例
Mar 02 Python
对Python函数设计规范详解
Jul 19 Python
IronPython连接MySQL的方法步骤
Dec 27 Python
Pytorch之finetune使用详解
Jan 18 Python
PyCharm刷新项目(文件)目录的实现
Feb 14 Python
解决TensorFlow调用Keras库函数存在的问题
Jul 06 Python
MATLAB数学建模之画图汇总
Jul 16 Python
Python全局变量与global关键字常见错误解决方案
Oct 05 Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
Jun 05 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上的memcache和memcached两个pecl库
2010/03/29 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
PHP 等比例缩放图片详解及实例代码
2016/09/18 PHP
php基于PDO实现功能强大的MYSQL封装类实例
2017/02/27 PHP
js限制checkbox选中个数以限制六个为例
2014/07/15 Javascript
javascript实现动态改变层大小的方法
2015/05/14 Javascript
javascript密码强度校验代码(两种方法)
2015/08/10 Javascript
jquery+CSS实现的水平布局多级网页菜单效果
2015/08/24 Javascript
EasyUI在表单提交之前进行验证的实例代码
2016/06/24 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
BootStrap+Mybatis框架下实现表单提交数据重复验证
2017/03/23 Javascript
简单谈谈关于Angular Cli打包的事
2017/09/05 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
2018/08/24 Javascript
微信小程序地图(map)组件点击(tap)获取经纬度的方法
2019/01/10 Javascript
Python中使用wxPython开发的一个简易笔记本程序实例
2015/02/08 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
Python Pandas找到缺失值的位置方法
2018/04/12 Python
python通过matplotlib生成复合饼图
2020/02/06 Python
TensorFlow2.0矩阵与向量的加减乘实例
2020/02/07 Python
解决pytorch 交叉熵损失输出为负数的问题
2020/07/07 Python
HTML5实现QQ聊天气泡效果
2017/06/26 HTML / CSS
h5实现获取用户地理定位的实例代码
2017/07/17 HTML / CSS
广州喜创信息技术有限公司JAVA软件工程师笔试题
2012/10/17 面试题
学院领导推荐信
2013/10/30 职场文书
运动会跳远广播稿
2014/02/04 职场文书
2014小学植树节活动总结
2014/03/10 职场文书
中国好声音华少广告词
2014/03/17 职场文书
消防安全宣传标语
2014/06/07 职场文书
党的群众路线对照检查材料思想汇报
2014/09/25 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
消防演习通知
2015/04/25 职场文书
超级礼物观后感
2015/06/15 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
《打电话》教学反思
2016/02/22 职场文书
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis
Nginx报404错误的详细解决方法
2022/07/23 Servers