一、Django安装及简介
1.安装Django
pip install django
site-packages: 用户权限设置为最高权限。
2.基本配置文件
mysite/
manage.py
mysite/
__init__.py Python包的初始化文件
settings.py 项目的配置文件-包含项目启动时需要的配置
urls.py 项目的主路由配置-HTTP请求进入Django时,优先调用
asgi.py
wsgi.py WEB服务网关的配置文件-Django正式启动时需要用到
- 最外层的
mysite/根目录只是你项目的容器, 根目录名称对 Django 没有影响,你可以将它重命名为任何你喜欢的名称。 manage.py: 一个让你用各种方式管理 Django 项目的命令行工具。你可以阅读 django-admin 和 manage.py 获取所有manage.py的细节。- 里面一层的
mysite/目录包含你的项目,它是一个纯 Python 包。它的名字就是当你引用它内部任何东西时需要用到的 Python 包名。 (比如mysite.urls). mysite/__init__.py:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。如果你是 Python 初学者,阅读官方文档中的 更多关于包的知识。mysite/settings.py:Django 项目的配置文件。如果你想知道这个文件是如何工作的,请查看 Django 配置 了解细节。mysite/urls.py:Django 项目的 URL 声明,就像你网站的“目录”。阅读 URL调度器 文档来获取更多关于 URL 的内容。mysite/asgi.py:作为你的项目的运行在 ASGI 兼容的 Web 服务器上的入口。阅读 如何使用 ASGI 来部署 了解更多细节。mysite/wsgi.py:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。阅读 如何使用 WSGI 进行部署 了解更多细节。
3.路由系统
4.MVT(模型层/视图层/模板层)
Model:通俗来讲就是找数据的
Template:渲染页面的
View:请求进来该交给谁(谁就是View)
5.Cookies和Session
记住HTTP状态的两套技术
6.分页及发邮件
7.Admin管理后台
用户站点/管理站点(面向网站数据层面的配置)
8.用途
1.HTTP请求:网站/微信公众号/小程序后端开发
2.人工智能平台融合:转发用户需求
二、项目结构
1.创建项目
- 安装Django后,虚拟机终端会有django-admin命令
- 执行 django-admin startproject XXX(项目名) --->创建对应项目文件夹
- django-admin startproject myProject1 --->创建出myProject1项目
2.启动项目
python manage.py runserver
启动后会显示:
Performing system checks... System check identified no issues (0 silenced). You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them. December 11, 2022 - 21:28:27 Django version 4.1.4, using settings 'mysite1.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK. [11/Dec/2022 21:28:33] "GET / HTTP/1.1" 200 10681 [11/Dec/2022 21:28:33] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423 [11/Dec/2022 21:28:33] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 86184 [11/Dec/2022 21:28:33] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 85692 [11/Dec/2022 21:28:33] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 85876 Not Found: /favicon.ico [11/Dec/2022 21:28:33] "GET /favicon.ico HTTP/1.1" 404 2111
3.关闭服务
方法一: 在runserver启动终端下,执行ctrl+C 可关闭Django服务
方法二:通过端口号关闭
1.netstat -anp |grep 8000 由端口号port(8000)查看进程id
2.kill 8911 #pid 通过PID杀进程
4.manage.py 包含项目管理的子命令,如:
- python manage.py runserver 启动服务
- python manage.py startapp 创建应用
- python manage.py migrate 数据库迁移
- 直接执行python manage.py 可列出所有的Django子命令
5.settings.py(包含了Django项目启动的所有配置项)
- 公有配置(Django已经写好的)
- 自定义配置 (命名规则:1.大写 2.自定义)
①BASE_DIR='XXX' #BASE_DIR 必须是大写 (项目的文件夹目录)
绑定当前项目的绝对路径(动态计算),所有文件夹都可以依赖此路径。
BASE_DIR = Path(__file__).resolve().parent.parent打印出来后结果为:
C:\Users\Yddd\mysite1 (我创建的Django文件所在的目录绝对地址)
②Debug ------项目启动模式
#True -----调试模式
Ⅰ检测代码修改后立刻自动重启服务
Ⅱ报错页面

随便打开一个不存在的page,会产生报错提示,根据报错可以修改代码段。
#False -----正式启动模式(上线模式)
③ALLOWED_HOSTS (区别虚拟站点)
请求头:HOST头
有效过滤一些脏请求
ALLOWED_HOSTS = ['127.0.0.1']
局域网中配置:
启动方式:python manage.py runserver 0.0.0.0:5000
指定网络设备其他主机想访问这个站点,需在本机将本机内网IP地址加到ALLOWED_HOSTS中。
eg:ipconfig 查询本机IP地址为:10.0.2.59
ALLOWED_HOSTS = ['10.0.2.59']
其他电脑在网页中输入:10.0.2.59:5000便可以访问到该网页
④INSTALLED_APPS (配置Django的应用)
编辑
mysite/settings.py文件前,先设置 TIME_ZONE 为你自己时区。此外,关注一下文件头部的 INSTALLED_APPS 设置项。这里包括了会在你项目中启用的所有 Django 应用。应用能在多个项目中使用,你也可以打包并且发布应用,让别人使用它们。
通常, INSTALLED_APPS 默认包括了以下 Django 的自带应用:
- django.contrib.admin -- 管理员站点, 你很快就会使用它。
- django.contrib.auth -- 认证授权系统。
- django.contrib.contenttypes -- 内容类型框架。
- django.contrib.sessions -- 会话框架。
- django.contrib.messages -- 消息框架。
- django.contrib.staticfiles -- 管理静态文件的框架。
这些应用被默认启用是为了给常规项目提供方便。
默认开启的某些应用需要至少一个数据表,所以,在使用他们之前需要在数据库中创建一些表。请执行以下命令:
⑤MIDDLEWARE (用于注册中间件)
⑥ROOT_URLCONF (Django主路由文件位置)
用于配置主url配置--->项目同名下的urls
每一个请求进来都优先走这个主路由,默认情况下就是urls.py,一般情况都不会变。
⑦TEMPLATES (模板)
用于指定模板的配置信息
⑧ LANGUAGE_CODE (语言信息配置)
中文:'zh-Hans' 访问网页会显示中文
⑨TIME_ZONE (时区)
默认为格林威治 'UTC'
中国时间是:‘Asia/Shanghai’
settings.py中的所有配置项,都可以按需的在代码中引入,引入方式为:
from django.conf import settings
3244





