08【Django URL】第一个Django项目剖析
一、创建项目
- 命令行模式
- 创建项目 django-admin-startproject first-project
需要cmd切换到存放项目文件夹 - 创建App python manage.py startapp appname
需要cmd切换到已创建项目文件夹目录 - 运行服务 python manage.py runserver
- 创建项目 django-admin-startproject first-project
- Pycharm 模式
09【Django URL】第一个Django项目剖析(2)
一、运行项目
命令行模式
- 运行项目:python manage.py runserver
- 默认端口:8000
- 指定端口运行:python manage.py runserver 9000
- 其他电脑都能访问:python manage.py runserver 0.0.0.0:8000
pycharm模式
- 设置端口:
- 局域网其他电脑访问:
必须设置该项,否则访问出现错误提示
允许被访问的主机IP地址(本机IP地址)
关闭主机电脑的防火墙
二、项目结构介绍
- manage.py
与项目交互
python manage.py help - setting.py
和项目相关的设置 - urls.py
配置URL路由 - wsgi.py
项目与WSGI协议贱人的web服务器入口
三、project和app关系
- 一个app代表项目中的一个模块
- 所有的url请求响应都是由app来处理
- Django项目由需要app组成
10【Django URL】Django的项目规范
1. url与视图函数的映射
2. 新建python包,管理不同的模块
新建python Package(即app模块)
引用包和使用包函数
3. Django自带创建app的命令
创建App **python manage.py startapp** *appname*
需要cmd切换到已创建项目文件夹目录
常用文件,自动创建完成
11【Django URL】DEBUG模式详解
一、开始debug模式(默认模式)
二、debug模式特点
- ctrl+时,自动保存项目,并且重启项目并运行,省去手动重启
- 项目出现的bug,会在浏览器和控制台打印出错误信息
- 生产环境,一定关闭debug模式
- DEBUG =False时,需要设置ALLOWED HOSTS,否则出错
设置允许访问的IP地址
12【Django URL】视图函数介绍
一、视图
- 视图函数一般都写在app的views中
- 视图函数的第一个参数,必须是request对象
- 视图函数的返回值,必须是HttpResponse对象,或者其子类
- 导入包 from django.http import HttpResponse
13【Django URL】URL映射补充
一、urls路由根目录
为什么去urls.py中寻找映射?
二、urlpatterns
指定变量,存储路由路径
14【Django URL】url中传递参数给视图函数
一、传递参数
视图函数
设置带参数的url和函数的映射
二、查询字符串的方式
获取查询字符
验证查询结果
15【Django URL】Django内置的URL转换器
一、传递参数类型
指定参数类型
自带转换器(默认str转换器)
UUID?
16【Django URL】urls分层模块化
一、URL的模块化
将所有和book先关的url函数都放在book里面的urls.py文件中,像Views一样模块化
所有book模块相关的urls都引入到主urls中
include(book,urls)
book模块相关的urls的实现
注意:主urls与模块urls之间反斜杠的位置,两个url的地址会进行最后的拼接
book模块对应的视图函数的实现
17【Django URL】url命名与反转url
一、url命名
- 为什么需要urls命名?
因为url是经常变化的,避免因为修改过多,造成混乱
【重新跳转到登陆界面】
- 如何给一个url指定名称?
指定名字
反转解析名字
- 应用命名空间
避免url指定相同名字后,反转解析出现问题;
使用
使用命名空间
18【Django URL】应用命名空间和实例命名空间
多个不同的url地址,映射到同一个app上
也叫实例命名空间
使用实例命名空间之前,必须定义模块命名空间
使用命名空间
19【Django URL】include函数详解
官方文档说明
20【Django URL】re_path函数详解
url匹配的时候,使用正则表达式