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.9pip 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代码:

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 视图函数

def index(request):return HttpResponse("<h1>HELLO Django</h1>")

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

对应关系:

2.2.4 构建模板

<!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文件的名称一致

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

settings.py 同步调整:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/97895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023年湘潭大学OJ作业2 2023年下学期《C语言》作业0x01-数学计算 XTU OJ 1080,1081,1082,1083,1084

第一题 #include<stdio.h> #include<math.h>int main() {double a3.2,b4.7;aa*a,bb*b;double ressqrt(ab);printf("%g\n",res);return 0; } 注意math.h头文件的使用&#xff0c;还有sqrt是双精度的 第二题 #include<stdio.h> #include<math…

Day4:Linux系统编程1-60P

我的学习方法是&#xff1a;Linux系统编程&#xff08;看pdf笔记&#xff09; Linux网络编程 WebServer 01P-17P Linux相关命令及操作 cp -a dirname1 dirname2 复制目录 cp -r dirname1 dirname2 递归复制目录 1 到目录 2 这里-a 和-r 的差别在于&#xff0c;-a 是完全复制…

【算法与数据结构】--算法基础--算法入门

一、什么是算法&#xff1f; 算法是一组有序的操作步骤&#xff0c;用于解决特定问题或执行特定任务。它是一种精确而有限的计算过程&#xff0c;以输入数据作为起点&#xff0c;经过一系列明确定义的步骤&#xff0c;最终产生输出结果。算法可以看作是一种计算机程序的抽象&a…

Java 线程的优先级

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开兴好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…

kafka、rabbitmq 、rocketmq的区别

一、语言不同 RabbitMQ是由内在高并发的erlanng语言开发&#xff0c;用在实时的对可靠性要求比较高的消息传递上。 kafka是采用Scala语言开发&#xff0c;它主要用于处理活跃的流式数据,大数据量的数据处理上 二、结构不同 RabbitMQ采用AMQP&#xff08;Advanced Message Q…

5分钟理解什么是卷积的特征提取

大家好啊&#xff0c;我是董董灿。 卷积算法之所以重要&#xff0c;关键在于其提取特征的能力。 5分钟入门卷积算法中提到&#xff0c;卷积模仿的就是人眼识图的过程&#xff0c;以“感受野”的视角去扫描图片&#xff0c;从而获取不同区域的图片信息。 在这一过程中&#x…

香港Web3.0生态现状

目前香港Web3.0生态正在快速发展。香港政府和金融机构正在积极推动Web3.0生态的建设&#xff0c;以推动数字经济和智慧城市的发展。香港政府已经发布了有关虚拟资产发展的政策宣言&#xff0c;鼓励和监管并重&#xff0c;加大力度推动虚拟资产产业向前发展。同时&#xff0c;香…

stable diffusion学习笔记【2023-10-2】

L1&#xff1a;界面 CFG Scale&#xff1a;提示词相关性 denoising&#xff1a;重绘幅度 L2&#xff1a;文生图 女性常用的负面词 nsfw,NSFW,(NSFW:2),legs apart, paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, (…

SpringCloud学习笔记-Eureka的服务拉取

假设是OrderService里面拉取Eureka的服务之一User Service 1.依然需要在该服务里面引入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependenc…

Android中的RxJava入门及常用操作符

文章目录 1.定义2.作用3.特点4.使用4.1创建被观察者&#xff08;Observable&#xff09;4.2创建观察者&#xff08;Observer&#xff09;4.3订阅&#xff08;Subscribe&#xff09;4.4Dispose 5.操作符5.1操作符类型5.2just操作符5.2链式调用5.3 fromArray操作符5.4 fromIterab…

四位十进制数字频率计VHDL,仿真视频、代码

名称&#xff1a;四位十进制数字频率计VHDL&#xff0c;quartus仿真 软件&#xff1a;Quartus 语言&#xff1a;VHDL 代码功能&#xff1a; 使用直接测频法测量信号频率&#xff0c;测频范围为1~9999Hz&#xff0c;具有超量程报警功能 演示视频&#xff1a;四位十进制数字频…

SpringBoot结合dev-tool 实现IDEA项目热部署

什么是热部署&#xff1f; 应用正在运行的时候升级功能, 不需要重新启动应用对于Java应用程序来说, 热部署就是在运行时更新Java类文件 通俗的来讲&#xff0c;应用在运行状态下&#xff0c;修改项目源码后&#xff0c;不用重启应用&#xff0c;会把编译的内容部署到服务器上…

为什么说重载是编译时的多态?

为什么说重载是编译时的多态&#xff1f; 重载&#xff08;Overloading&#xff09;被称为编译时的多态&#xff0c;是因为它涉及到在编译阶段&#xff08;而非运行时&#xff09;根据方法签名的不同来选择正确的方法实现。重载发生在同一个类中&#xff0c;其中有多个方法具有…

FFmpeg 命令:从入门到精通 | ffmpeg 命令直播

FFmpeg 命令&#xff1a;从入门到精通 | ffmpeg 命令直播 FFmpeg 命令&#xff1a;从入门到精通 | ffmpeg 命令直播直播拉流直播推流 FFmpeg 命令&#xff1a;从入门到精通 | ffmpeg 命令直播 本节主要介绍了ffmpeg 命令进行直播拉流、推流的方法&#xff0c;并列举了一些例子…

李宏毅 2022机器学习 HW3 boss baseline 上分记录

作业数据是所有数据都有标签的版本。 李宏毅 2022机器学习 HW3 boss baseline 上分记录 1. 训练数据增强, private 0.760562. cross validation&ensemble, private 0.816473. test dataset augmentation, private 0.824584. resnet, private 0.865555. Image Normalizatio…

1024 画跳动的爱心#程序代码 #编程语言 #计算机

废话不多说 直接开干! 用到库 random time tkinter 快速镜像 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tkinter 上代码 import random import time from math import sin, cos, pi, log from tkinter import *CANVAS_WIDTH 640 # 画布的宽 CANVAS_HEIGH…

vue启动项目,npm run dev出现error:0308010C:digital envelope routines::unsupported

运行vue项目&#xff0c;npm run dev的时候出现不支持错误error:0308010C:digital envelope routines::unsupported。 在网上找了很多&#xff0c;大部分都是因为版本问题&#xff0c;修改环境之类的&#xff0c;原因是对的但是大多还是没能解决。经过摸索终于解决了。 方法如…

LLMs与外部应用程序交互 Interacting with external applications

在上一节中&#xff0c;您看到了LLM如何与外部数据集进行交互。现在让我们看看它们如何与外部应用程序进行交互。为了激发需要这种LLM增强的问题和用例的类型&#xff0c;您将重新审视之前在课程中看到的客户服务机器人示例。在这次浏览中&#xff0c;您将查看需要的集成&#…

传输层协议——TCP、UDP

目录 1、UDP 协议&#xff08;用户数据报协议&#xff09; 协议特点 报文首部格式 2、TCP 协议&#xff08;传输控制协议&#xff09; 协议特点 报文首部格式 TCP连接建立时的三次握手 TCP拆除连接的四次挥手 TCP的流量控制 TCP的拥塞控制 3、传输层端口号 三类端口…

ARM---day02

汇编点灯 .text .global _start _start:1.设置GPIOE寄存器的时钟使能 RCC_MP_AHB4ENSETR[5:4]->1 0x50000a28 LDR R0,0X50000A28 LDR R1,[R0] 从r0为起始地址的4 5字节数据取出放在R1 ORR R1,R1,#(0x3<<4) 第4 5位设置为1 STR R1,[R0] 写回2.设置PE10管脚为输…