Django入门——部分小结

使用include添加路由并设置前缀:

path('api/',include('board.urls')),

还有命名空间之类的,不过此处没有用到。

读取request传入的数据:

request是WSGIRequest对象,request.GET和request.POST都是QueryDict对象。
参考:https://www.cnblogs.com/limaomao/p/9383799.html
request.POST常用JSON格式而非form格式进行传输。
如果是form格式,则可以***.get('xxx')或者***['xxx']来获取***的xxx属性,比如

name = request.GET.get('user')
name = request.POST['user']

如果是JSON格式,则需要调用json.loads(***)方法,返回值变为Dict类型,可以用上面两种方法读取。
参考:https://www.cnblogs.com/zhangdewang/p/9222952.html

数据存储、查找与删除:

调用对象的save()方法可以将其存入数据库。清空数据库所有数据(比如Message对象)可以这样写:

Message.objects.all().delete()

可以用filter()方法查找符合某条件的实例,比如:

a = A.objects.filter(xxx=xx).first()

其中A是类,xxx是该类的某个属性,xx则是条件。这样可以找到xxx属性取值为xx的A里的第一个(first())实例。
参考:https://blog.csdn.net/qq_34244910/article/details/100746107

处理输入数据非JSON格式:

在调用json.loads(***)时会报错JSONDecodeError.
用try-except捕捉JSONDecodeError时,要注意捕捉的是json.JSONDecodeError.
这一点在postman的长长的HTML类型的报错信息里有提到,大意是“出现了JSONDecodeError,在处理的时候又出现了新的错误:JSONDecodeError命名错误”,因此才发现应该用json.JSONDecodeError.

posted on 2022-03-12 18:14  Narh  阅读(46)  评论(0编辑  收藏  举报

导航