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中的上下文管理器与else块
Aug 27 Python
Python中用psycopg2模块操作PostgreSQL方法
Nov 28 Python
Python实现调度算法代码详解
Dec 01 Python
python pandas中DataFrame类型数据操作函数的方法
Apr 08 Python
Python使用pickle模块储存对象操作示例
Aug 15 Python
python如何实现不用装饰器实现登陆器小程序
Dec 14 Python
python实现飞行棋游戏
Feb 05 Python
python 解决Fatal error in launcher:错误问题
May 21 Python
学习Python爬虫的几点建议
Aug 05 Python
小结Python的反射机制
Sep 28 Python
pandas map(),apply(),applymap()区别解析
Feb 24 Python
能让Python提速超40倍的神器Cython详解
Jun 24 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
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
discuz7 phpMysql操作类
2009/06/21 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
php开发文档 会员收费1期
2012/08/14 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
2013/07/03 PHP
新浪的图片新闻效果
2007/01/13 Javascript
html读出文本文件内容
2007/01/22 Javascript
在IE浏览器中resize事件执行多次的解决方法
2011/07/12 Javascript
jQuery文件上传插件Uploadify使用指南
2014/06/05 Javascript
jQuery中prevUntil()方法用法实例
2015/01/08 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
手把手教你把nodejs部署到linux上跑出hello world
2017/06/19 NodeJs
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
小程序实现左滑删除效果
2019/07/25 Javascript
微信小程序制作扭蛋机代码实例
2019/09/24 Javascript
微信小程序中weui用法解析
2019/10/21 Javascript
Vue文本模糊匹配功能如何实现
2020/07/30 Javascript
python使用xauth方式登录饭否网然后发消息
2014/04/11 Python
Python生成器(Generator)详解
2015/04/13 Python
python脚本监控docker容器
2016/04/27 Python
python读取文本绘制动态速度曲线
2018/06/21 Python
关于python pycharm中输出的内容不全的解决办法
2020/01/10 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
全球酒店比价网:HotelsCombined
2017/06/20 全球购物
请描述一下”is a”关系和”has a”关系
2015/02/03 面试题
零件设计自荐信范文
2013/11/27 职场文书
公司培训欢迎词
2014/01/10 职场文书
小学中秋节活动方案
2014/02/06 职场文书
幼儿评语大全
2014/04/30 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
金融专业银行实习证明模板
2014/11/28 职场文书
英文道歉信
2015/01/20 职场文书
蜗居观后感
2015/06/11 职场文书
繁星春水读书笔记
2015/06/30 职场文书
Java存储没有重复元素的数组
2022/04/29 Java/Android