Django第二篇

django第二篇

1.静态文件配置

接口前缀:

​ STATIC_URL = '/static/'

跟静态文件夹的名字没有关系,默认情况下这个前缀跟静态文件夹名字一样

文件配置

STATICFILES_DIRS = [

​ os.path.join(BASE_DIR,'static')

]

'static':就是你的静态文件夹路径,可以设置多个,会依次查找列表中所有的静态文件路劲,找到就停止,都没有的话返回404(资源不存在)

2.form表单操作

form表单触发提交数据的动作两种方式:

<input type='submit'><button></button>

form表单提交数据地址的指定及方式:

​ action属性控制提交的地址

方式一:全路径

<form action='http://127.0.0.1:8000/login/'>

方式二:只写路劲后缀

<form action='/login/'>

方式三:不写(默认往当前路劲提交)

注意:利用a标签href属性可以指定页面跳转的路劲,href可以写全路劲,但是推荐写后缀即可

<a href='/login/' class='btn btn-success'>登入</a>

两种请求方式(form表单默认是get请求)

#根据客户端请求方式的不同执行不同的逻辑代码
def login(request):#获取客户端的请求方式print(request.method) #注意是全大写的字符串if request.method == 'POST':return HttpResponse('ok')return render(request,'login.html')

获取请求方式中携带的参数

def login(request):if request.method == 'POST':print(request.POST)  #里面存放了客户端post提交的所有数据,可以看成是一个大字典,{'username':['lucas'],'password':['123']}print(request.POST.get('username')) #value虽然是一个列表,但是获取值得时候拿到的是单个元素,默认只会取列表里的最后一个元素print(requet.POST.getlist('username'))  #一次性获取value列表里的所有数据,应用场景可以是用户的爱好,多选框   #get请求的取值方式和post一样

3.django连接数据库

修改配置文件

DATABASES = {'default':{'ENGINE':'django.db.backends.mysql','NAME':'day54', #库名'HOST':'127.0.0.1','POST':3306,'USER':'root','PASSWORD':'123'}
}
#注意:键必须是大写

替换

​ 告诉Django用pymysql替换它,默认mysqldb模块连接数据库

​ 方式一:在项目文件夹下面的__init__.py

​ 方拾二:在应用文件夹下的__init__.py

#固定写法
import pymysql
pymysql.install_as_Mysql()

4.orm简单操作

orm简介

​ orm:对象关系映射,简单来说就是类对应数据库中的一张表,类对象对应表记录,对象的属性对应某条记录的值

​ django的orm不能自动创建库,但是可以自动创建表

​ 小提示:一个django项目就使用一个库,不要多个django项目使用一个库

数据库迁移(同步)命令

​ 在models创建好类之后,还需要两个命令:

1635178-20190606213742848-2051900155.jpg

​ python3(当前所用解释器名称) manage.py makemigrations:将数据库变动记录到文件中

​ python3 manage.py migrate:将数据库变动同步到数据库中

5.操作数据库

User表插入数据

方式一:

user_obj = models.User.objects.create(name=username,password=password)
#create方法有一个返回值,就是当前新增的数据对象本身

方式二:

user_obj = models.User(name=password,password=password)
user_obj.save()

查询数据

获取User表所有的数据
user_list = models.User.objects.all() #获取user表所有的数据

1635178-20190606213755364-774355220.jpg

上图中的user_list是QuerySet对象,可以通过点query查看获取sql语句,QuerySet对象支持索引取值,但是不推荐,推荐使用自带的.first()来获取第一条数据

获取单个值
user_query = models.User.objects.filter(id=1)  # queryset对象
user_obj = user_query.first()  # 数据对象
# 当条件不存在的情况下会返回一个空的queryset对象,推荐使用
user_obj = models.User.objects.get(id=1)  # 用get可以直接获取到数据对象本身,但是查询条件不存在的情况下直接报错,所有推荐使用filter

删除数据

models.User.objects.filter(id=1).delete()  # 会将queryset所有的数据对象全部删除

修改数据

方式一:

models.User.objects.filter(id=edit_id).update(name=username,password=password)
#调用queryset封装的方法,该方法是一个批量操作,会将queryset内所有的数据对象全部修改

方式二:

user_obj = models.User.objects.filter(id=edit_id).first()
user_obj.name = username
user_obj.password = password
user_obj.save()
上述edit_id获取方式:

方式一:利用input隐藏一个标签

<input type='hidden' name='edit_id' values='{{user_obj.pk}}'>  #django中pk默认取的是主键字段,User表中id就是主键字段

方式二:GET请求携带

<form action='/edit/?edit_id={{user_obj.pk}}' method='post'></form>

上述修改、删除都是通过queryset对象点的方法完成的,会作用于内部所有的数据对象,类似于批量操作

注意:修改模型层里面的根表相关的所有的数据之后,必须重新执行数据库迁移命令

6.django请求生命周期

1635178-20190606213805586-410523187.jpg

转载于:https://www.cnblogs.com/yanminggang/p/10986980.html

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

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

相关文章

avi和音频合成 ffmpeg_使用Java和ffmpeg把音频和视频合成视频的操作方法

FFmpeg是一个开源免费跨平台的视频和音频流方案&#xff0c;属于自由软件&#xff0c;采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec&#xff0c;为了保证高可移植性和编解码质量&a…

html input file name,HTML Input FileUpload name用法及代码示例

name属性用于设置或返回文件上传按钮的name属性的值。名称属性用于在提交到服务器后标识表单数据。用法:返回名称属性&#xff1a;fileuploadObject.name设置名称属性&#xff1a;fileuploadObject.namename属性值&#xff1a;name:指定文件上传按钮的名称。示例1&#xff1a;返…

PS教程第三课:PS界面

ctrl 移动 滚轮 多种命令

洛谷 P1589 泥泞路 2019青岛市竞赛(贪心)

题目链接 https://www.luogu.org/problemnew/show/P1589 解题思路 用结构体存下每一段泥泞路的左端点和右端点&#xff0c;然后用sort根据左端点排序&#xff0c;采用贪心的思想&#xff0c;从左往右遇到未覆盖的点ans&#xff0c;然后去覆盖l的长度&#xff0c;这时现在覆盖到…

坡度土方计算案例_土石方工程造价中的细节解析(案例+计算式)

每个房建工程都避不开土石方工程&#xff0c;许多人知道怎样算量&#xff0c;也知道怎样组价&#xff0c;但是却有很多小细节的注意点被忽略&#xff0c;现将土石方工程从算量到组价的全过程整理&#xff0c;希望对大家深刻理解土石方规则&#xff0c;掌握手算及软件算技巧、组…

能测试快充真假的软件,苹果iOS 12可自行测试真假快充:山寨充电器将被洗牌

苹果2018新品发布会临近&#xff0c;有爆料称本次苹果将带来三款新机并且推出最新的系统版本iOS 12。近期&#xff0c;苹果也接连推送了多个iOS 12 Beta版本供大家尝鲜&#xff0c;截止目前&#xff0c;已经更新到了iOS12 Beta9。(iOS12 Beta9升级教程)在更新iOS 12 Beta9之后&…

MM看过来!教你如何打扮变成时尚达人 - 生活至上,美容至尚!

发色选择红色铜色珊瑚色等亮色,衣着选择大红粉红等亮色. 让脸变白的方法 : 1.要睡觉的时候&#xff0c;拿小黄瓜切雹放置脸上过几分钟拿下来&#xff0c;一个月您的脸就会 白嫩。 2.睡前用最便宜的化妆棉加上化妆水完全浸湿后&#xff0c;敷在脸上20分钟&#xff0c;每周3 次&a…

P1078 文化之旅[最短路]

题目背景 本题是错题&#xff0c;后来被证明没有靠谱的多项式复杂度的做法。测试数据非常的水&#xff0c;各种玄学做法都可以通过&#xff08;比如反着扫&#xff09;&#xff0c;不代表算法正确。因此本题题目和数据仅供参考。 题目描述 有一位使者要游历各国&#xff0c;他每…

小学生计算机课堂实践的重要性,浅谈小学信息技术教育重要性.doc

浅谈小学信息技术教育重要性浅谈小学信息技术教育重要性   随着科技的发展&#xff0c;信息技术与人们的生活息息相关。我们通过不同的技术手段&#xff0c;获取我们生活、工作和学习中所需要的一切信息&#xff0c;而作为教授人们认识信息及使用技术获取、编辑、传递信息基础…

安卓真机如何连接本地服务器_一分钟搭建可供手机访问的本地服务器 (安卓,ios手机通用)...

我们在做安卓或者ios开发时&#xff0c;开发阶段会用手机访问本地服务器&#xff0c;而本地服务器开发阶段也是部署在后台开发的电脑上。mac或者window电脑的本地服务器。下面就来实现手机访问mac或者window本地服务器。实现步骤如下1&#xff0c;手机和电脑必须连在同一个wifi…

人生命运

命运字面上意义是指生命的经历。命指生命&#xff0c;运即经验历程。宿命论者相信命运不可以改写&#xff0c;因为人不可窥探预知命运&#xff0c;命运存在任何的角落上&#xff0c;只是无法接触。命运只是个人的主观意识观念而已。命运&#xff0c;是时间的唯一性和不可逆转性…

PS教程第五课:套索工具进行抠图

直接点击套索工具 新建图层 选中选区

BZOJ 4278: [ONTAK2015]Tasowanie 后缀数组 + 贪心 + 细节

Description 给定两个数字串A和B&#xff0c;通过将A和B进行二路归并得到一个新的数字串T&#xff0c;请找到字典序最小的T。Input 第一行包含一个正整数n(1<n<200000)&#xff0c;表示A串的长度。第二行包含n个正整数&#xff0c;其中第i个数表示A[i](1<A[i]<1000…

.net宿舍管理系统 mysql_基于.NET CORE的精美后台管理系统-RuoYi C#版

若依(RuoYi)是码云上一款精美的开源快速开发平台&#xff0c;作者毫无保留给个人及企业免费使用。RuoYi目前有三个版本&#xff1a;普通版本(RuoYi)、前后端分离版本(RuoYi-Vue)、微服务版本(RuoYi-Cloud)。.net的小伙伴们估计很羡慕JAVA的生态&#xff0c;现在.net core发展也…

计算机蓝屏 代码0000a,win7 64位系统蓝屏代码0x0000000a的原因及解决方法

广大win7系统用户都有过由于操作失误或是遭到病毒侵袭导致的电脑蓝屏情况&#xff0c;蓝屏是微软的 Windows 系列操作系统在无法从一个系统错误中恢复过来时&#xff0c;为保护电脑数据文件不被破坏而强制显示的屏幕图像。蓝屏对我们正常使用电脑造成的影响很大&#xff0c;有用…

Asp.net面试题

1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 答: private : 私有成员, 在类的内部才可以访问。 protected : 保护成员&#xff0c;该类内部和继承类中可以访问。 public : 公共成员&#xff0c;完全公开&#xff0c;没有访问限制。 internal: 在同…

PS教程第六课:魔棒工具进行抠图

点击魔棒工具进行抠图 选中选区 点击查看

scratch少儿编程第一季——07、人要衣装佛靠金装——外观模块

各位小伙伴大家好&#xff1a; 上期我们学习了如何设置背景&#xff0c;和设计一个小项目总结了动作模块。 本期开始我们学习外观模块下的指令。 首先我们来看看前面两个指令 第一个指令是在角色对象上出现一个对话框&#xff0c;显示角色所说的话。 后面有一个时间参数&#x…