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>…...
从用户体验出发:手把手教你用uniapp的showLoading/showToast/showModal设计友好交互
从用户体验出发:手把手教你用uniapp的showLoading/showToast/showModal设计友好交互 在移动应用开发中,交互设计的好坏直接影响用户留存率。数据显示,超过60%的用户会因为糟糕的交互体验而卸载应用。作为开发者,我们不仅要关注功能…...
做定制开发的定制软件开发公司平台
在数字化转型浪潮下,“定制软件开发”几乎成了每一家力图通过技术构建壁垒的企业的必选项。然而,一个令人尴尬的现实是:很多企业在数字化上砸了重金,不仅没换来效率,反而陷入了“开发超预算、交付总延期、上线全是坑”…...
Fomu FPGA工作坊:从LED闪烁到RISC-V软核的微型硬件开发指南
1. 项目概述:当FPGA遇见指尖,一场硬件的微型革命如果你对嵌入式开发、硬件编程感兴趣,但又觉得传统的FPGA开发板笨重、昂贵且入门门槛高,那么im-tomu/fomu-workshop这个项目可能会让你眼前一亮。这不仅仅是一个代码仓库࿰…...
libhv实战:300行构建C++异步RPC框架,集成Protobuf与evpp
1. 为什么需要C异步RPC框架 在微服务架构盛行的今天,服务间的通信效率直接决定了系统整体性能。传统同步RPC调用就像打电话,必须等对方接听才能开始对话,而异步RPC更像是发微信,发完消息就可以去做其他事情,等对方回复…...
共筑智能传播信息安全域,新华社国家重点实验室与北京时光不语达成合作
新华社媒体融合生产技术与系统国家重点实验室与北京时光不语科技有限公司(TIMUS.AI)正式建立研发生态伙伴关系,并联合推出面向智能传播环境的“新华智信感知平台”,深化智能传播领域科研创新与成果转化,共同构建负责任…...
taotoken的token plan套餐让长期使用的成本预测变得简单
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken 的 Token Plan 套餐让长期使用的成本预测变得简单 对于将大模型 API 深度集成到业务流程中的团队而言,成本管…...
V2X通信:自动驾驶安全冗余与混合交通协同的关键技术
1. 项目概述:当自动驾驶汽车遇上“沟通障碍”如果你认为自动驾驶汽车和车与车之间的通信是两个独立的问题,那说明你的思考还不够“渐进式”。是时候重新审视了。自动驾驶的拥护者们常常描绘一个乌托邦式的未来:道路零事故。但他们很少提及那个…...
Helm Git插件:实现K8s Chart的GitOps部署与CI/CD集成
1. 项目概述:为什么我们需要一个Helm Git插件?在Kubernetes生态中,Helm是当之无愧的“包管理器”,它通过Chart的概念,将复杂的K8s应用定义打包、版本化,极大地简化了部署流程。然而,标准的Helm工…...
终极指南:Diem社区治理的创新机制与DAO组织运作全解析
终极指南:Diem社区治理的创新机制与DAO组织运作全解析 【免费下载链接】diem Diem’s mission is to build a trusted and innovative financial network that empowers people and businesses around the world. 项目地址: https://gitcode.com/gh_mirrors/di/di…...
3分钟快速上手:91160-cli医疗预约自动化助手完整指南
3分钟快速上手:91160-cli医疗预约自动化助手完整指南 【免费下载链接】91160-cli 健康160全自动挂号脚本,捡漏神器 项目地址: https://gitcode.com/gh_mirrors/91/91160-cli 还在为医院挂号难而烦恼吗?91160-cli是一款专为医疗预约设计…...
