Djongo项目复习(一)

本文详细介绍Django项目创建步骤,包括项目与app的建立、目录结构解析、URL调度原理及请求处理流程,助你快速掌握Django开发基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Django中文文档地址 网页链接

一、创建一个Django项目

1. django-admin.py startproject project_name
2. django startproject project_name

二、创建app

cd 进入project_name目录后创建app

1. python manage.py startapp app_name
2. django-admin.py startapp app_name

三 、目录结构

urls.py

网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。

views.py

处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。

models.py

与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。

forms.py

表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。

templates 文件夹

views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。

admin.py

后台,可以用很少量的代码就拥有一个强大的后台。

settings.py

Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。

四、url.py(URL调度器)
概述:

为了给一个应用设计URL,你需要创建一个Python 模块,通常被称为URLconf(URL configuration)。这个模块是纯粹的Python 代码,包含URL 模式(简单的正则表达式)到Python 函数(你的视图)的简单映射。

Django 如何处理一个请求

当一个用户请求Django 站点的一个页面,下面是Django 系统决定执行哪个Python 代码使用的算法:

  1. Django确定要使用的根URLconf模块。通常,这是ROOT_URLCONF设置的值,但是如果传入的HttpRequest对象具有urlconf属性(由中间件设置),那么它的值将代替ROOT_URLCONF设置。
  2. Django加载该Python模块并查找变量urlpatterns。这应该是django.url .path()和/或django.url .re_path()实例的Python列表。
  3. Django 依次匹配每个URL 模式,在与请求的URL 匹配的第一个模式停下来。
  4. 一旦其中一个URL模式匹配,Django就导入并调用给定的视图,这是一个简单的Python函数(或基于类的视图)。
    视图通过以下参数传递:
    一、一个 HttpRequest 实例。
    二、如果匹配的URL模式没有返回命名组,那么正则表达式中的匹配将作为位置参数提供。
    三、关键字参数由路径表达式匹配的任何命名部分组成,由django.url .path()或django.url .re_path()的可选kwargs参数中指定的任何参数覆盖。
    5.如果没有匹配的URL模式,或者在此过程的任何时刻引发异常,Django将调用一个适当的错误处理视图。
以下路径转换器在默认情况下可用:
  • str—匹配任何非空字符串,不包括路径分隔符’/’。如果表达式中没有包含转换器,这是默认值。
  • int—匹配零或任何正整数。返回一个int。
  • slug—匹配零或任何正整数。返回int.匹配任何由ASCII字母或数字、连字符和下划线组成的段塞字符串。例如,building-your-1st-django-site。
  • uuid—匹配格式化的UUID。为了防止多个url映射到同一个页面,必须包含破折号和小写字母。例如,075194 d3 - 6885 - 417 - e - a8a8 c931e272f00——6。返回一个UUID实例。
  • path—匹配任何非空字符串,包括路径分隔符’/’。这允许您匹配一个完整的URL路径,而不是像str那样只匹配URL路径的一段。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

404NooFound

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值