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实现web端用户登录和注册功能的教程
Apr 30 Python
python3获取两个日期之间所有日期,以及比较大小的实例
Apr 08 Python
Python实现自定义函数的5种常见形式分析
Jun 16 Python
python中ASCII码和字符的转换方法
Jul 09 Python
Django实现学员管理系统
Feb 26 Python
计算机二级python学习教程(2) python语言基本语法元素
May 16 Python
python的几种矩阵相乘的公式详解
Jul 10 Python
详解用python计算阶乘的几种方法
Aug 14 Python
Python中私有属性的定义方式
Mar 05 Python
opencv python在视屏上截图功能的实现
Mar 05 Python
Django rest framework分页接口实现原理解析
Aug 21 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
Sep 16 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
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
2011/07/04 Javascript
动态加载script文件的两种方法
2013/08/15 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
JavaScript闭包实例详解
2016/06/03 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
DOM 事件的深入浅出(一)
2016/12/05 Javascript
jQuery Easyui 下拉树组件combotree
2016/12/16 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
关于express与koa的使用对比详解
2018/01/25 Javascript
Javascript实现动态时钟效果
2018/11/17 Javascript
vue实现div单选多选功能
2020/07/16 Javascript
从零学Python之入门(三)序列
2014/05/25 Python
用python实现的线程池实例代码
2018/01/06 Python
完美解决在oj中Python的循环输入问题
2018/06/25 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
python dataframe NaN处理方式
2019/12/26 Python
在jupyter notebook 添加 conda 环境的操作详解
2020/04/10 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
pytorch实现查看当前学习率
2020/06/24 Python
python中的yield from语法快速学习
2020/11/06 Python
css3个性化字体_动力节点Java学院整理
2017/07/12 HTML / CSS
Canvas与图片压缩的示例代码
2017/11/28 HTML / CSS
凯伦·米莲女装网上商店:Karen Millen
2017/11/07 全球购物
实习教师个人的自我评价
2013/11/08 职场文书
建筑工程毕业生自我鉴定
2014/01/14 职场文书
2014两会学习心得:时代的发展
2014/03/17 职场文书
安全保证书范文
2014/04/29 职场文书
公司委托书格式范本
2014/09/16 职场文书
2014年科技工作总结
2014/11/26 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
事业单位岗位说明书
2015/10/08 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
Java 写一个简单的图书管理系统
2022/04/26 Java/Android