Django是一个开源的 Web应用框架,由Python写成。采用了MTV的框架模式,它最初是被用来做CMS(内容管理系统)软件。
官方中文文档:Django 文档 | Django 文档 | Django
应用:做内容管理系统(新闻、视频)
Django学习路线

Django 采用了 MVT 的软件设计模式,即模型(Model),视图(View)和模板(Template)。
M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。
MVT模型的工作流程

路由控制器将请求转发给对应的视图函数,完成业务逻辑,视图函数将从model中获取的数据嵌入到template的中模板文件(html)渲染成一个页面字符串,返回给客户端的流程。
所以我们学习Django重点是四个部分:url路由器+MVT
pip install django==3.2
安装好python环境
安装虚拟环境库,在cmd中输入:
pip install virtualenv 创建虚拟环境,在cmd中切换到需要创建虚拟环境的目录下,执行:
- virtualenv -p python可执行文件 env_name
- virtualenv -p C:\python\python.exe venv1
- virtualenv -p C:\python36\python.exe venv2
激活虚拟环境:"venv2/Scripts/python.exe"、"venv1/Scripts/activate",命令行输入需要双引号。
激活虚拟环境,在cmd中进入到 第三步创建的 env_name/Scripts 目录下,执行:
activate
执行成功后,在cmd中,当前输入行前面会有 (env_name) 的前缀
在当前状态下,使用 pip 就是在虚拟环境中安装第三方库了
退出虚拟环境,cmd中输入:
deactivate
- conda create -n django_env python=3.9
-
- pip install django==3.2
django-admin startproject stu_ms
完成了以后,直接直接下pycharm下面的终端terminal中使用命令运行django
# 进入项目
cd stu_ms
# 不加端口 默认8000
python manage.py runserver 8090
在浏览器中访问显示的地址http://127.0.0.1:8090.效果如下则表示正确安装了.

django-admin startproject myproject
python manage.py runserver 127.0.0.1 8000
python manage.py runserver 命令是用来启动 Django 开发服务器的命令,它允许你在本地开发环境中运行你的 Django 项目。
- from django.contrib import admin
- from django.urls import path
- from myapp.views import timer
- urlpatterns = [
- # 请求路径和视图函数的映射关系 一旦请求路径和某一个path中的路径匹配成功则调用改path中的视图函数
- path('admin/', admin.site.urls),
- path("timer", timer),
- ]
python manage.py startapp 应用名
python manage.py startapp 应用名 是 Django 中用来创建一个新应用程序(App)的命令。应用程序是 Django 项目的组成部分,用于组织和管理不同功能或模块的代码。
python manage.py startapp teacher (子应用名称)
子应用的名称将来会作为目录名而存在,所以 不能出现特殊符号,不能出现中文等多字节的字符.
1 现在settings里面添加配置文件:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'teacher',
]
2 demo/urls.py代码:
- from django.contrib import admin
- from django.urls import path
- from myapp.views import timer
- urlpatterns = [
- # 请求路径和视图函数的映射关系 一旦请求路径和某一个path中的路径匹配成功则调用改path中的视图函数
- path('admin/', admin.site.urls),
- path("timer", timer),
- ]
3 添加配置文件
runserver 0.0.0.0:8000

- def index(request):
- return HttpResponse("
HELLO Django
")
效果查看:http://127.0.0.1:8000/teacher/index/
对应关系:


- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Titletitle>
-
- <style>
- span{
- color: red;
- }
- style>
- head>
- <body>
-
- <h1>当前时间:<span>{{ now }}span>h1>
- <h1>{{ user_name }}h1>
-
- body>
- html>
view.py 进行同步调整:
注意传参名称和 HTML文件的名称一致
- def index(request):
- return render(request, 'index.html', {"now": "2023年 10月2号", "user_name": "李白"})
settings.py 同步调整:
