Django基础篇(5)--视图(2)

(1)Python所有方向的学习路线(新版)

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

在这里插入图片描述

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

在这里插入图片描述

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

username = models.CharField(max_length=20)

password = models.CharField(max_length=20)

create_time = models.DateTimeField(auto_now_add=True)

update_time = models.DateTimeField(auto_now=True)

记得同步提交哟!!!不然后面会报错。这里create_time是创造的时间,update_time就是更改的时间。

添加数据

====

接下来编辑一下视图:

from .models import User

def create_user(request):

print(request.POST[‘username’])

print(request.POST[‘password’])

username = request.POST[‘username’]

password = request.POST[‘password’]

data = {‘username’:username,‘password’:password}

obj = User.objects.all()

obj.create(**data)

return render(request,‘create_user.html’)

def get_create_user_html(request):

return render(request,‘create_user.html’)

添加路由:

from testqing.views import *

urlpatterns = [

path(‘create/user/’,create_user),

path(‘create/’,get_create_user_html),

]

这个视图呢现在主要用于添加数据功能,至于请求方法我们需要在模板中进行设置。这里的

User.objects.all()是针对模型中的所有字段进行添加的。get_create_user_html是我们发送了第一次的数据之后,通过模板进入到create_user路由中,继续进行数据传递。

看看模板中怎么写:

QingAn

{# method更改访问方式 #}

{% csrf_token %}

用户名:

密码:

这里指定了路由,也就是说,我们首先进入到create路由中,输入用户名密码后,点击提交按钮,会通过/create/user/路由且以post的请求方式发送出来,将数据传到数据库。且会在控制泰山打印出来。注意:这里之所以会答应是因为前面的代码中print了。

{% csrf_token %}这里可以解决跨站请求防伪拦截,如果把这个去掉,那么就会被拦截掉哦。

验证就个人自行验证啦,进入到数据库中刷新一下就出来了。

查询数据

====

def search_user(request):

构建一个输入,决定返回数据类型,然后决定模板中该怎么写

username = request.GET[‘username’]

构建模型的搜索功能

user_obj = User.objects.filter(username=username)

data = dict()

for i in user_obj:

print(i.dict)

data.update({i.dict[‘id’]: i.dict})

data = {‘data’:data}

return render(request,‘search_user.html’,data)

查询数据没有太多的要求可以讲,默认get就行,User.objects.filter(username=username)这里的filter之前有讲到过,filter方法接受的复数态的内容和空对象内容,返回的是一个复数态的对象列表。

这里涉及到了数据转换,用for循环来遍历其中的数据,再以字典的形式传入,再模板中通过for循环的方式再次打印出来,得到预期的结果值。

模板的写法:

QingAn

请输入搜索用户:

ID Name Password

{% for d in data.values %}

{{ d.id }} {{ d.username }} {{ d.password }}

{% endfor %}

这里有个前提,就是你数据库中得有足够的数据,搜索的时候也得有对于的数据才行。

如果这里你先搜索id你应该怎么办呢,将视图中的name="username"改成name=“id”,视图中的request.GET[‘username’]改成request.GET[‘id’],user_obj = User.objects.filter(username=username)改为id=username即可。

如果将data.update({i.__dict__[‘id’]: i.__dict__})中id改为username查询时只会显示最新的添加数据。

修改数据

====

视图代码:

def update_user(request):

user = User.objects.get(id=request.POST[“id”])

username = request.POST[“username”]

password = request.POST[“password”]

user.dict.update({

“username”: username,

“password”: password

})

user.save()

users_object = User.objects.all()

data = dict()

for i in users_object:

data.update({i.pk: {

“username”: i.username,

“password”: i.password,

“id”: i.id,

}})

data = {“data”: data}

return render(request, “update_user.html”, data)

def get_update_user(request):

users_object = User.objects.all()

data = dict()

for i in users_object:

username = i.username

password = i.password

pk = i.pk

data.update({i.pk: {

“username”: i.username,

“password”: i.password,

“id”: i.pk,

}})

data = {“data”: data}

return render(request,‘update_user.html’,data)

路由代码:

from testqing.views import *

urlpatterns = [

path(‘update/user/’,update_user),

path(‘update/’,get_update_user),

]

模板代码:

QingAn
ID username password 提交更改

{% for d in data.values %}

{% endfor %}

让我们看看效果:

如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值