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 24 Python
Python中使用Boolean操作符做真值测试实例
Jan 30 Python
python使用os.listdir和os.walk获得文件的路径的方法
Dec 16 Python
Python列表生成式与生成器操作示例
Aug 01 Python
使用pycharm设置控制台不换行的操作方法
Jan 19 Python
Python实现账号密码输错三次即锁定功能简单示例
Mar 29 Python
Pythony运维入门之Socket网络编程详解
Apr 15 Python
python移位运算的实现
Jul 15 Python
利用python list完成最简单的DB连接池方法
Aug 09 Python
python深copy和浅copy区别对比解析
Dec 26 Python
Pytorch之view及view_as使用详解
Dec 31 Python
Python面向对象之继承原理与用法案例分析
Dec 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
PHP+DBM的同学录程序(4)
2006/10/09 PHP
php面向对象的方法重载两种版本比较
2008/09/08 PHP
thinkPHP下ueditor的使用方法详解
2015/12/26 PHP
php unlink()函数使用教程
2018/07/12 PHP
php面向对象基础详解【星际争霸游戏案例】
2020/01/23 PHP
继续学习javascript闭包
2015/12/03 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
Angular2库初探
2017/03/01 Javascript
vue实现商品加减计算总价的实例代码
2018/08/12 Javascript
简述vue-cli中chainWebpack的使用方法
2019/07/30 Javascript
vue 使用高德地图vue-amap组件过程解析
2019/09/07 Javascript
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
教你用Python创建微信聊天机器人
2020/03/31 Python
Python单向链表和双向链表原理与用法实例详解
2018/08/31 Python
python创建n行m列数组示例
2019/12/02 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
2020/02/26 Python
scrapy头部修改的方法详解
2020/12/06 Python
Django视图类型总结
2021/02/17 Python
使用phonegap克隆和删除联系人的实现方法
2017/03/31 HTML / CSS
英国男女奢华内衣和泳装购物网站:Figleaves
2017/01/28 全球购物
Vision Direct比利时:在线订购隐形眼镜
2019/08/27 全球购物
Footshop法国:购买运动鞋
2020/01/19 全球购物
SHEIN美国:购买时髦的女性服装
2020/12/02 全球购物
高三英语教学反思
2014/01/13 职场文书
毕业生求职自荐书范文
2014/03/27 职场文书
小学生保护环境倡议书
2014/05/15 职场文书
2014年公务员工作总结
2014/11/18 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
教师素质教育心得体会
2016/01/19 职场文书
MySQL系列之十二 备份与恢复
2021/07/02 MySQL
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
2022/04/24 Vue.js
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技