码迷,mamicode.com
首页 > 数据库 > 详细

关于django的一些回顾(主要是对数据库的操作)

时间:2017-08-19 18:43:12      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:home   联合查询   get请求   key   obj   .post   filter   create   本地   

1.diango请求的生命周期
url->路由系统-->视图函数(获取模版+数据) 渲染 -->字符串返回给用户
2.路由系统
/index/ ---> 函数或者类 .as_view()
/detail/(\d+) ---> 函数的参数或者类的参数
/detail/(?P<nid>\d+) ---> 函数的参数或者类的参数---- 指定参数
/detail/ ----> include("app01.urls") 路由分发。
3.视图函数
FBV:函数
def index(request,*args,**kwargs)
..
CBV:类
class Home(view.View)
def get(self,request,*args,**kwargs)
...

获取用户请求的数据:
request.POST.get() (post请求)
request.GET.get() (get请求)
request.FILES.get() (传输文件用)
......getlist()
request.path_info()

文件对象 = request.FILES.get()
文件对象.name
文件对象.size
文件对象.chunks()

给用户返回数据:
render(request,主要是本地html模版文件的路径[如果有渲染的话 后面给上返回的数据。])
redirect(request,主要是返回url)
HttpResponse(字符串)

4.模版语言
:render(request,主要是本地html模版文件的路径[如果有渲染的话 后面给上返回的数据。])

<html>
<body>
<h1>{{obj}}</h1>
<h1>{{k1.3}}</h1>
<h1>{{k2.name}}</h1>
{%for i in k2%}
{{i}}
{% enfor %}
{%for i in k2.keys %}
{{i}}
{% enfor %}
{%for i in k2.values %}
{{i}}
{% enfor %}
{%for k,v in k2.items %}
{{k}} - {{v}}
{% enfor %}
</body>
</html>



4.ORM
a.创建类和字段
class User(models.Model):
id = models.IntergerFiled()
name = models.CharFienld(max_length = 12) #字符长度

python manage.py makemigrations
python manage.py migrate
#settings.py 注册app

b.操作


models.User.objects.create(name = "xxxx",age = ‘xxxx‘)
dic = {‘name‘:‘xxx‘,‘age‘:‘19‘}
models.User.objecs.create(**dic)

obj = models.User(name = "xxxx",age = ‘xxxx‘)
obj.save()



models.User.objecs.filter(xxx).delete()

models.User.objecs.filter(id__gt =1 ).update(name = ‘jxhs‘) #把数据库中id大于1的中id大于1的 name值改成 jxhs
dic = {‘name‘:‘xxx‘,‘age‘:‘19‘}
models.User.objecs.filter(id__gt = 1).update(**dic) #用字典格式上传

models.User.objecs.filter(id = 1) #等于
models.User.objecs.filter(id_gt = 1) #大于
models.User.objecs.filter(id_lt = 1) #小于
models.User.objecs.filter(id_gte = 1) #大于等于
models.User.objecs.filter(id_lte = 1) #等于小于


联合查询
models.User.objecs.filter(id = 1, name =‘root‘)
dic = {‘name‘:‘xxx‘,‘age‘:‘19‘}
models.User.objecs.filter(**dic)

字典的联合查询的模糊查询

dic = {‘name‘:‘xxxx‘ age_gt:‘19‘} #名字为xxxx 并且年龄大于19的
models.User.objecs.filter(**dic)


关于django的一些回顾(主要是对数据库的操作)

标签:home   联合查询   get请求   key   obj   .post   filter   create   本地   

原文地址:http://www.cnblogs.com/jxhs/p/7397137.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!