Django学习——基础篇(上)
一、Django的安装
pip install django
python目录下出现两个文件
djando-admin.exe
django
django-admin.exe
django
二、创建项目
1.命令行(终端)
1.打开终端
win+R
输入cmd
2.进入项目目录
3.执行命令创建项目
2.Pycharm
两种方法对比
1.命令行创建的项目更标准
2.pycharm创建的项目比命令行多了两样东西【需要删掉】
·创建了templates目录
·settings.py中
默认文件
三、创建app
python manage.py startapp [appname]
显示所有目录
tree /F
├─app01
│ │—admin.py【固定,不用动】django默认提供了admin后台管理。
│ │—apps.py【固定,不用动】app启动类
│ │—models.py【 ** 重要 ** 】,对数据库操作。
│ │—tests.py【固定,不用动】单元测试
│ │—views.py【 ** 重要 ** 】,函数。
│ │—__ init __.py
│ │
│ └─migrations【固定,不用动】数据库变更记录
│ __ init __.py
│
└─mysite1
│—asgi.py
│—settings.py
│—urls.py【URL->函数】
│—wsgi.py
│— __ init __.py
四、启动运行django
1、确保app已注册【settings.py】
在【settings.py】中的 INSTALLED_APPS 中添加:
参考【apps.py】中的类名:
2、编写 URL 和视图函数的对应关系【urls.py】
3、编写视图函数【views.py】
4、启动django项目
1.命令行启动
python manage.py runserver
2.pycharm启动
3.运行
5、再写一个页面
-url --> 函数
-函数
五、模板和静态文件
1、templates 模板
在【views.py】中:
创建【templates】文件夹和【user_list.html】:
2、静态文件【static】
在开发过程中一般将:图片、css、js都会当做静态文件处理。
1.static目录
在app目录下创建static文件夹
2.引用静态文件
六、django的模板语法
本质上:在HTML中写一些占位符,由数据对这些占位符进行替换和处理。
【urls.py】文件
from django.urls import path
from app01 import viewsurlpatterns = [path('tpl/', views.tpl),
]
【views.py】文件
from django.shortcuts import render, HttpResponse, redirect
def tpl(request):name = "布莱克"roles = ["光明守护者", "邪灵二当家", "战联副队"]user_info = {"name": "布莱克", 'friend': "索兰特", 'role': "夜魔之神"}data_list = [{"name": "布莱克", 'attribute': "暗影系", 'role': "夜魔之神"},{"name": "卡修斯", 'attribute': "地暗影系", 'role': "大地之神"},{"name": "雷伊", 'attribute': "电系", 'role': "雷神"},{"name": "盖亚", 'attribute': "战斗系", 'role': "战神"},{"name": "缪斯", 'attribute': "超能系", 'role': "赤瞳"},]return render(request, "tpl.html", {"n1": name, "n2": roles, "n3": user_info, "n4": data_list})
【tpl.html】文件
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h1>模板语法的学习</h1>
<div>{{ n1 }}</div>
<div>{{ n2 }}</div>
<div>{{ n2.0 }}</div>
<div>{{ n2.1 }}</div>
<div>{{ n2.2 }}</div>
<div>{% for item in n2 %}<span>{{ item }}</span>{% endfor %}
</div>
<hr/>
{{ n3 }}
{{ n3.name }}
{{ n3.friend }}
{{ n3.role }}
<ul>
{% for k,v in n3.items %}<span>{{ k }} = {{ v }}</span>
{% endfor %}
</ul>
<hr/>
{{ n4.1 }}
{{ n4.1.name }}
{{ n4.1.role }}{% for item in n4 %}<div>{{ item.name }} {{ item.attribute }}</div>
{% endfor %}
<hr/>
{% if n1 == "布莱克" %}<h1>光明的救赎</h1>
{% else %}<h1>威斯克</h1>
{% endif %}{% if n1 == "威斯克" %}<h1>光明的救赎</h1>
{% elif n1 == "卡修斯" %}<h1>诅咒之子</h1>
{% else %}<h1>赛尔号</h1>
{% endif %}</body>
</html>
运行结果
运行模式
七、请求和响应
【urls.py】文件
from django.urls import path
from app01 import viewsurlpatterns = [# 请求和响应path('something/', views.something),
]
【views.py】文件
from django.shortcuts import render, HttpResponse, redirect
def something(request):# request是一个对象,封装了用户发送过来的所有请求相关数据# 1.获取请求方式 GET/POSTprint(request.method)# 2.在URL上传递值 /something/?n1=123&n2=999print(request.GET)# 3.在请求体中提交数据print(request.POST)# 4.【响应】HttpResponse("返回内容"),内容字符串内容返回给请求者# return HttpResponse("返回内容")# 5.【响应】读取HTML的内容 + 渲染(替换) ->字符串,返回给用户的浏览器# return render(request, "something.html", {"title": "来了"})# 6.【响应】让浏览器重定向到其他的页面return redirect("https://www.baidu.com")
【something.html】文件
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>某些请求{{ title }}</h1>
</body>
</html>
运行结果
关于重定向:第二种形式是对的
相关文章:

Django学习——基础篇(上)
一、Django的安装 pip install djangopython目录下出现两个文件 djando-admin.exe django django-admin.exe django 二、创建项目 1.命令行(终端) 1.打开终端 winR 输入cmd 2.进入项目目录 3.执行命令创建项目 2.Pycharm 两种方法对比 1.命令行创…...

研报精选230302
目录 【个股230302华西证券_比亚迪】系列点评五十四:迪“王”需求向上 出口“海”阔天空【个股230302华西证券_华利集团】下游去库存背景下承压,毛利率保持稳健【个股230302开源证券_恒顺醋业】公司信息更新报告:四季度业绩承压,期…...
Unity心得
- 将结果与因子颠倒的函数Mathf.InverseLerp非常实用 - at 10 meters, you want volume 1 - at 20 meters, you want volume 0 - volume InvLerp( 20, 10, distance ) - 显示HideFlags为Hide类型的物体 Resources .FindObjectsOf…...

TryHackMe-Binex
Binex 枚举计算机并获取交互式 shell。利用 SUID 位文件,使用 GNU 调试器利用缓冲区溢出并通过 PATH 操作获得根访问权限。 端口扫描 循例 nmap SMB枚举 题目给了提示:Hint 1: RID range 1000-1003 Hint 2: The longest username has the unsecure pa…...

外贸人如何写出优秀的开发信?附详细思路
如何写出优秀的开发信?最近做出口生意的客户都在抱怨,开发信的回复率越来越低,其实原因有很多,有时候并非自己的能力实在很欠缺。原因总结如图:第一:市场不景气这个就是就属于客观因素了,这也许…...

python自学之《21天学通Python》(18)——第21章 案例2 Python搞定大数据
“大数据(Big Data)”这个术语最早期的引用可追溯到apache org的开源项目Nutch。当时,大数据用来描述为更新网络搜索索引需要同时进行批量处理或分析的大量数据集。随着谷歌MapReduce和GoogleFileSystem (GFS)的发布&a…...

面试问题【数据库】
数据库数据库的三范式是什么drop、delete、truncate 分别在什么场景之下使用char 和 varchar 的区别是什么数据库的乐观锁和悲观锁是什么SQL 约束有哪几种mysql 的内连接、左连接、右连接有什么区别MyIASM和Innodb两种引擎所使用的索引的数据结构是什么mysql 有关权限的表都有哪…...

Allegro如何输出钻孔表操作指导
Allegro如何输出钻孔表操作指导 用Allegro做PCB设计的时候,需要输出钻孔表格,用于生产加工,如下图 如何输出钻孔表,具体操作如下 点击Manufacture点击NC...
消息队列 面试题 整理
消息队列 为什么要使用消息队列? 异步解耦:关注的是通知而非处理。 流量削峰:将短时间内高并发的请求持久化,然后逐步处理,削平高峰期的请求。 日志收集: 事务最终一致性 系统间的消息通信方式ÿ…...
【Java】对象比较大小
在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题。Java实现对象排序的方式有两种: 自然排序:java.lang.Comparable定制排序:java.util.Comparator 规则:需要我们自定义根据对象的某个或某些属…...

发票自动OCR识别并录入模板 3分钟免费配置
要问整个公司里和数据打交道最多的职能,非财务莫属了吧。除了每天要处理大量财务数据外,还有发票录入的工作让财务陷入“易燃易爆炸”的工作状态。发票报销看似简单,但发票的类型有很多种,每种发票需要录入的信息也有差别。再加上…...
Dubbo 配置说明
dubbo:scan:base-packages: com.ut.msdasw.services.appservice //这个会扫描该包下得全部接口protocol: //这个主要是配置传输的协议和端口,只是一个协议name: dubbo port: 30032registry: //这里是服务注册中心的地址address: spring-cloud://localhost consum…...
英飞凌TCxxx实战系列01_Alarm处理
目录 1.概述2. Alarm内部处理2.1关联的寄存器2.2 Alarm设置case3. SMU外部处理3.1 关联的寄存器4. WDT Alarm的特殊处理4.1 看门狗超时测试4.2 RecoveryTimer相关的Alarm1.概述 当MCU运行出现问题,如MCU温度过高、过低,看门狗超时等会触发一个Alarm,当SMU收到Alarm信号后,…...

飞桨全量支持业内AI科学计算工具——DeepXDE!
AI技术在跨学科融合创新方面扮演着日益重要的角色,特别是在Al for Science领域,AI技术的发展为跨学科、跨领域的融合创新带来了巨大的机会。AI已成为一个关键的研究工具,改变了基础科学的研究范式。依托AI技术开发的科学计算工具,…...

【c++基础】
C基础入门统一初始化输入输出输入输出符输入字符串const与指针c和c中const的区别const与指针的关系常变量与指针同类型指针赋值的兼容规则引用引用的特点const引用作为形参替换指针其他引用形式引用和指针的区别inline函数缺省参数函数重载判断函数重载的规则名字粉碎C编译时函…...

语音识别技术对比分析
文章目录一、语音识别产品对比二、百度语音识别产品1、套餐及价格:2、官网3、调研结果三、华为语音识别产品四、阿里云语音识别产品1、套餐及价格:2、官网地址3、调研结果五、科大讯飞语音识别产品1、套餐及价格:2、官网3、调研结果六、有道语…...

Idea git 回滚远程仓库版本
目标 回滚远程仓库到特定版本。 将【添加test03】版本回滚到【行为型模式】版本。 回滚前的效果图 步骤 ①复制需要回滚到的版本的版本号 ②右键项目,选择Git-Repository-Reset Head ③Reset Type选择Hard;To Commit填入步骤①复制的版本号ÿ…...
vscode C++配置
program:调试入口文件的地址cwd:程序启动调试的目录miDebuggerPath:调试器的路径launch.json// { // // Use IntelliSense to learn about possible attributes. // // Hover to view descriptions of existing attributes. // /…...

【微电网_储能】基于启发式状态机策略和线性程序策略优化方法的微电网中的储能研究【给定系统约束和定价的情况下】(Matlab代码实现)
👨🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…...

rk3288-android8-IR-mouse
IR问题: mouse按键使用不了 然后排查: 1.排查上报 ir_key6{ rockchip,usercode <0xbf00>;rockchip,key_table <0xff KEY_POWER>,<0xfe KEY_MUTE>, <0xfd KEY_1>, <0xfc KEY_2>, <0xfb KEY_3>, <0xfa KEY_4>, <0xf9 KEY_5>…...

从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...

苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...

uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...