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.rhkb.cn/news/146829.html

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

相关文章

Swing程序设计(4)JLabel标签和导入图片

文章目录 前言一、JLabel标签 1.介绍2.实例展示二、JLabel中绘图和导入图片 1.自定义绘图2.导入图片总结 前言 本文介绍了Swing程序中JLabel标签的使用&#xff0c;以及在标签中导入图片和自定义图标的方法。 一、JLabel标签的使用 1.介绍 JLabel标签&#xff1a;在Swing程序中…

【生物信息学】计算图网络中节点的中心性指标:聚集系数、介数中心性、度中心性

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 3. IDE 三、实验内容 0. 导入必要的工具 1. 生成邻接矩阵simulate_G: 2. 计算节点的聚集系数 CC(G): 3.计算节点的介数中心性 BC(G) 4. 计算节点的度中心性 DC(G) 5. 综合centrality(G) 6. 代…

基于web的画作展示系统/作品展示平台

摘 要 网络的广泛应用给生活带来了十分的便利。所以把画作展示系统与现在网络相结合&#xff0c;利用JSP技术建设画作展示系统&#xff0c;实现画作展示系统的信息化。则对于进一步提高画作展示系统的发展&#xff0c;丰富画作展示系统经验能起到不少的促进作用。 画作展示系统…

NLP中token总结

Token 可以被理解为文本中的最小单位。在英文中&#xff0c;一个 token 可以是一个单词&#xff0c;也可以是一个标点符号。在中文中&#xff0c;通常以字或词作为 token。ChatGPT 将输入文本拆分成一个个 token&#xff0c;使模型能够对其进行处理和理解 在自然语言处理&#…

【QT】自定义组件ui类添加到主ui界面方法

1.添加自定义组件到项目中 add new选择如下 写好类方法&#xff0c;确定即可 2.将新创建的ui类加入到主ui界面 选中新创建ui类的父类空块&#xff0c;右键选择提升为 选择并添加新创建的类

asp.net core mvc 文件上传,下载,预览

//文件上传用到了IformFile接口 1.1文件上传视图 <form action"/stu/upload" method"post" enctype"multipart/form-data"><input type"file" name"img" /><input type"submit" value"上传&…

【通意千问】大模型GitHub开源工程学习笔记(2)--使用Qwen进行推理的示例代码解析,及transformers的库使用

使用Transformers来使用模型 如希望使用Qwen-chat进行推理,所需要写的只是如下所示的数行代码。请确保你使用的是最新代码,并指定正确的模型名称和路径,如Qwen/Qwen-7B-Chat和Qwen/Qwen-14B-Chat 这里给出了一段代码 from transformers import AutoModelForCausalLM, Aut…

多目标平衡优化器黏菌算法(MOEOSMA)求解CEC2020多模式多目标优化

多目标平衡优化器黏菌算法&#xff08;MOEOSMA&#xff09;比现有的多目标黏菌算法具有更好的优化性能。在MOEOSMA中&#xff0c;动态系数用于调整勘探和开采趋势。采用精英存档机制来促进算法的收敛性。使用拥挤距离法来保持Pareto前沿的分布。采用平衡池策略模拟黏菌的协同觅…

【深度学习实验】卷积神经网络(六):自定义卷积神经网络模型(VGG)实现图片多分类任务

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. 构建数据集&#xff08;CIFAR10Dataset&#xff09; a. read_csv_labels&#xff08;&#xff09; b. CIFAR10Dataset 2. 构建模型&#xff08;FeedForward&…

前端页面初步开发

<template><div><el-card class"box-card" style"height: 620px"><el-input v-model"query.name" style"width:200px" placeholder"请输入用户姓名"></el-input>&nbsp&nbsp&nbsp…

贪心找性质+dp表示+矩阵表示+线段树维护:CF573D

比较套路的题目 首先肯定贪心一波&#xff0c;两个都排序后尽量相连。我一开始猜最多跨1&#xff0c;但其实最多跨2&#xff0c;考虑3个人的情况&#xff1a; 我们发现第3个人没了&#xff0c;所以可以出现跨2的情况 然后直接上dp&#xff0c;由 i − 1 , i − 2 , i − 3 i…

input输入表头保存excel文件

input输入表头 input输入表头 &#xff08;input内除了/&#xff0c;空格 回车 标点符号等 全部作为单元格分隔符&#xff09;保存/storage/emulated/0/代码文件/ 没有就创建文件名命名方法&#xff1a;编号. 库 时间戳嗨&#xff01;听说你有个需求&#xff0c;想根据用户输入…

数码产品数码配件无线键盘等出口欧盟CE-RED认证测试办理

数码产品数码配件无线键盘CE-RED认证测试办理 无线产品CE-RED认证进入东欧市场规定&#xff1a; 在通信终端设备和无线产品在这些/地区合法销售之前&#xff0c;必须按照 RED 指令进行测试&#xff0c;并且还必须提供 CE 标志。无线远程控制产品必须符合 RED 指令的 REDEU 要…

2021-06-18 51蛋骗鸡实现流水灯累积点亮全亮后闪烁从头开始循环

缘由怎么在单片机上实现这个功能呢_有问必答-CSDN问答 #include "REG52.h" sbit K1 P1^5; sbit K2 P1^6; sbit K3 P1^7; sbit K4 P1^4; //sbit LED1P1^0; //sbit LED2P1^1; //sbit LED3P1^2; //sbit LED4P1^3; bit k1; unsigned char code SmZiFu[]{63,6,91,79,…

数字乡村包括哪些方面?数字乡村应用介绍

数字乡村是指利用物联网、数字化和智能化技术&#xff0c;借助现代数字智能产品、高效信息服务和物联网基础设施&#xff0c;以提高农村居民生活质量&#xff0c;助力拓展经济发展前景。 创建数字村庄有助于缩小城乡社区之间的差距&#xff0c;保障每个人都能平等地享受科技发展…

Observer

Observer 动机 在软件构建过程中&#xff0c;我们需要为某些对象建立一种“通知依赖关系”——一个对象&#xff08;目标对象&#xff09;的状态发生改变&#xff0c;所有的依赖对象&#xff08;观察者对象&#xff09;都将得到通知。如果这样的依赖关系过于紧密&#xff0c;…

在移动固态硬盘上安装Ubuntu系统和ROS2

目录 原视频准备烧录 原视频 b站鱼香ros 准备 1.在某宝上买一个usb移动固态硬盘或固态U盘&#xff0c;至少64G 2.下载鱼香ros烧录工具 下载第二个就行了&#xff0c;不然某网盘的速度下载全部要一天 下载后&#xff0c;选择FishROS2OS制作工具压缩包&#xff0c;进行解压…

国庆节看这里,有你意想不到的收货!(建议收藏)

计算机视觉研究院专栏 作者&#xff1a;Edison_G “国庆长假&#xff0c;每个人都安耐不住了&#xff0c;但是&#xff0c;在你静心、游玩的时候&#xff0c;还是可以阅读今天的分享&#xff0c;干货满满&#xff01; 公众号ID&#xff5c;ComputerVisionGzq 学习群&#xff5c…

【STM32】IAP升级03关闭总中断,检测栈顶指针

IAP升级方法 IAP升级时需要关闭总中断 TM32在使用时有时需要禁用全局中断&#xff0c;比如MCU在升级过程中需禁用外部中断&#xff0c;防止升级过程中外部中断触发导致升级失败。 ARM MDK中提供了如下两个接口来禁用和开启总中断&#xff1a; __disable_irq(); // 关闭总中…

【Django】4 Django模型

每个模型是一个Python 类&#xff0c;集成django.db.models.Modle类 该模型的每个属性表示一个数据库表字段 通过API 自动生成数据库访问 .../sign/modles.py 文件&#xff0c;通过模型完成表创建。 TypeError: ForeignKey.__init__() missing 1 required positional argumen…