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/
对应关系:
Title
当前时间:{{ now }}
{{ user_name }}
view.py 进行同步调整:
注意传参名称和 HTML文件的名称一致
def index(request):
return render(request, 'index.html', {"now": "2023年 10月2号", "user_name": "李白"})
settings.py 同步调整: