Django基础入门操作 (Django-01)

一 背景介绍

Django是一个开源的 Web应用框架,由Python写成。采用了MTV的框架模式,它最初是被用来做CMS(内容管理系统)软件。

官方中文文档:Django 文档 | Django 文档 | Django

应用:做内容管理系统(新闻、视频)

Django学习路线

1.1 MTV 设计模式

Django 采用了 MVT 的软件设计模式,即模型(Model),视图(View)和模板(Template)。

  1. M全拼为Model ,与MVC中的M功能相同,负责和数据库交互,进行数据处理。

  2. V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。

  3. T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html**。**

MVT模型的工作流程

路由控制器将请求转发给对应的视图函数,完成业务逻辑,视图函数将从model中获取的数据嵌入到template的中模板文件(html)渲染成一个页面字符串,返回给客户端的流程。

所以我们学习Django重点是四个部分:url路由器+MVT

1.2 创建虚拟环境

1.2.1 直接创建

复制代码
pip install django==3.2
  1. 安装好python环境

  2. 安装虚拟环境库,在cmd中输入:

    复制代码
    pip install virtualenv
  3. 创建虚拟环境,在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",命令行输入需要双引号。

  4. 激活虚拟环境,在cmd中进入到 第三步创建的 env_name/Scripts 目录下,执行:

    复制代码
    activate

    执行成功后,在cmd中,当前输入行前面会有 (env_name) 的前缀

    在当前状态下,使用 pip 就是在虚拟环境中安装第三方库了

  5. 退出虚拟环境,cmd中输入:

    复制代码
    deactivate

1.2.2 Anaconda3 直接创建

复制代码
conda create -n django_env python=3.9

pip install django==3.2

1.3 创建Django项目

1.3.1创建项目 stu_ms

django-admin startproject stu_ms

完成了以后,直接直接下pycharm下面的终端terminal中使用命令运行django

进入项目

cd stu_ms

不加端口 默认8000

python manage.py runserver 8090

在浏览器中访问显示的地址http://127.0.0.1:8090.效果如下则表示正确安装了.

二 Django基础

2.1 常用命令

2.1.1 创建项目

django-admin startproject myproject

2.1.2 启动项目

python manage.py runserver 127.0.0.1 8000

python manage.py runserver 命令是用来启动 Django 开发服务器的命令,它允许你在本地开发环境中运行你的 Django 项目。

2.1.3 创建应用

复制代码
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 项目的组成部分,用于组织和管理不同功能或模块的代码。

2.2 快速测试一个Django应用

2.2.1 创建子应用

python manage.py startapp teacher(子应用名称)

子应用的名称将来会作为目录名而存在,所以 不能出现特殊符号,不能出现中文等多字节的字符.

2.2.2 绑定路由

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**代码:

python 复制代码
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

2.2.3 视图函数

python 复制代码
def index(request):
    return HttpResponse("<h1>HELLO Django</h1>")

效果查看:http://127.0.0.1:8000/teacher/index/

对应关系:

2.2.4 构建模板

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        span{
            color: red;
        }
    </style>
</head>
<body>

<h1>当前时间:<span>{{ now }}</span></h1>
<h1>{{ user_name }}</h1>

</body>
</html>

view.py 进行同步调整:

注意传参名称和 HTML文件的名称一致

python 复制代码
def index(request):
    return render(request, 'index.html', {"now": "2023年 10月2号", "user_name": "李白"})

settings.py同步调整:

相关推荐
uzong13 分钟前
9 种 RAG 架构,每位 AI 开发者必学:完整实战指南
后端
老前端的功夫21 分钟前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
小江的记录本24 分钟前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
止语Lab34 分钟前
从手动到框架:Go DI 演进的三个拐点
开发语言·后端·golang
yaoxin5211231 小时前
397. Java 文件操作基础 - 创建常规文件与临时文件
java·开发语言·python
dFObBIMmai1 小时前
MySQL主从同步中大事务导致的延迟_如何拆分大事务优化同步
jvm·数据库·python
szccyw01 小时前
mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问
jvm·数据库·python
小白学大数据1 小时前
Python 自动化爬取网易云音乐歌手歌词实战教程
爬虫·python·okhttp·自动化
风之所往_3 小时前
Python 3.0 新特性全面总结
python
2401_882273723 小时前
如何在 CSS 中正确加载本地 JPG 背景图片
jvm·数据库·python