希望通过此博客记录自己学习django的过程,如果文章中存在错误,希望大家不吝赐教。
1. 概述
Django框架是一个成熟且功能强大的web开发框架,由Python写成。采用了MTV的框架模式,即模型层、模版层和视图层三大部分构成,当浏览网页的用户发出请求时,会自动调用效应的模块处理请求并返回相应的响应;django框架可以开发大部分与http相关的服务,如网站,微信公众号,小程序等。
linux开发环境中与创建项目相关的主要命令
打开终端 | ctrl+alt+t | 创建django项目 | django-admin startproject 项目名 |
显示当前路径 | pwd | 进入项目文件夹,启动项目 | python3 manage.py runserver (默认监听8000) |
打开另一个终端 | ctrl+shift+t | 关闭服务 | ctrl+c |
显示目录下内容 | ls | 任意终端根据端口号关闭服务 | sudo lsof -i:8000 (扫描出跟8000相关的描述符)/ kill -9 392423(PID进程号) |
结构展示 | tree mysite1 | 展示所有的子命令 | python3 manage.py 【查询后再输入后缀】 |
创建路径 | mkdir 路径 | 创建应用 | python3 manage.py startapp [appname] |
删除文件 | rm -fr 文件 | 复制文件到指定目录 | cp -fr 源文件 目标文件[夹] |
项目创建成功后,项目文件夹中会出现以下内容:
- manage.py(包括django的所有子命令:启动、创建、数据库迁移)
- 项目同名文件夹
- wsgi.py正式启动时用
- urls.py主路由配置:http请求进入django时会被优先调用
- settings.py设置
2. setting.py 概要介绍
django项目启动所需的所有配置项
配置项类型主要分为公有配置和自定义配置 ,格式:BASE_DIR = 'xxxx'
下面介绍公有配置:
BASE_DIR 项目绝对路径
通过os.path.dirname去掉获得路径的最后一层
DEBUG 项目启动模式
True(调试模式):检测代码改动后立刻重启服务,报错页面;
False( 正式启动模式):以上都没有了,并会隐藏开发使用的工具。
ALLOWED_HOSTS(请求头(访问来源ip))
ALLOWED_HOSTS= [通配符或IP或空或url]
注意:当debug=false时必须配置ip
小知识:0.0.0.0代表什么?服务器中:本机上所有IPV4地址 :;路由中:表示默认路由。
ROOT_URLCONF 主路由文件位置
TEMPLATES 模版
DATABASES 数据库 :引擎+名称
LANGUAGE_CODE ='zh-Hans' 语言
TIME_ZONE= 'Asia/shanghai' 时区
3.views.py 概要介绍
视图函数:接受一个浏览器请求(HttpRequest对象)
创建视图函数格式如下
def xxx_view(request[,其他参数]):
内容
return HttpRequest对象
在模块中导入所有的视图函数
from . import views
import 应用名.views as 别名
from 应用名.views import 类名
4.django处理URL请求
- django从配置文件中根据ROOT_URLCONF找到主路由文件
- 依次匹配主路由文件(url.py)中urlpatterns列表中path,匹配成功-调用对应的视图文件处理请求,返回响应;匹配失败-返回404响应;
path格式:path('page/2022/',views.page_2022)
URL 统一资源定位符 (Uniform Resource Locator)的构成
路由地址(path)
端口号(port)
查询(query)示例:?menuld=657421&version=AID999
碎片(fragment:回到定位描点位置,类书签作用)示例:#the-model-layer