首页 > 技术文章 > django使用过程的中踩的坑

zhoufankui 2018-03-18 18:00 原文

1、django的request参数
其中 请求报文 由客户端发送,其中包含和许多的信息,而 django 将这些信息封装成了 HttpRequest 对象,该对象由 HttpRequest 类创建。每一个请求都会生成一个 HttpRequest 对象,django会将这个对象自动传递给响应的视图函数,一般视图函数约定俗成地使用 request 参数承接这个对象
简而言之就是我们可以用这个方法从前台取到各种数据,比如cookies,表单的参数等

2、django的sql操作

table.objects.get()方法只能返回一条数据,如果有多条数据的话就得用filter,或者all

另外,get()方法当查询不到数据时会报错,所以在view中使用的时候,如果需要判断,最好不要用get。

3、django url传递参数

url(r'^delete_guest/(?P<guest_id>[0-9]+)$', views.delete_guest),

需要在url中传递参数时(一般用作删除等操作,需要获取数据参数才能删除对象),格式为?P<参数>匹配规则,

4、在做项目过程中发现数据库表字段少,这时需要往里加,在django中在models中添加表字段,这时候运行makemigrations无法同步到数据中(具体原因也不明白),解决办法是

在django的shell模式下,

from django.db import connection
cursor = connection.cursor()
cursor.execute('ALTER TABLE sign_user ADD COLUMN phone varchar(50) DEFAULT null'),

这样就可以把我们在models中增加的字段添加到数据库中了。





推荐阅读