Django 基础

Posted 三人行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django 基础相关的知识,希望对你有一定的参考价值。

1. 多对多表之间的保存

方式一:

    u2 = User.objects.get(id=2)
    g2 = Group.objects.get(id=2)
    u2.group_relation.add(g2)    #在关系表中存入关联数据

方式二:

name = request.POST.get(‘name‘,None)
username = request.POST.get(‘username‘,None)
password = request.POST.get(‘password‘,None)
gplist = request.POST.getlist(‘groupId‘)
user = Users.objects.create(name=name,username=username,password=password)
user.save()
glist = UserGroup.objects.filter(id__in=gplist)
user.groupId.add(*glist)
# 或
#for gord in gplist:
#    group = UserGroup.objects.get(id=gord)
#    user.groupId.add(group)

方式三:

    u2 = User.objects.get(id=2)
    g2 = Group.objects.get(id=2)
    g2.user_set.add(u2)    #无多对多字段方添加关联, _set 是固定搭配,它的前面是多对多字段所在类的类名的小写

 

2. 多对多表之间的数据获取

    u2 = User.objects.get(id=2)
    g2 = Group.objects.get(id=2)
    print(u2.group_relation.all())
    print(u2.group_relation.all()).filter(id=1)
    print(u2.group_relation.all()).filter(caption=‘CEO‘)

3. Session

a)	request.session[‘is_login’] = True  用session存值
b)	is_login = request.session.get(‘is_login’,None)  获取session的值
c)	del request.session[‘is_login’]	销毁session
d)	settings.py中设置 SESSION_COOKE_AGE=10设置session10秒钟后过期自动销毁
	i.	SESSION_EXPIRE_AT_BROWSER_CLOSE 设置session是否随着浏览器关闭而销毁

4. Cooke

response = render_to_response(‘index.html’,ret)
response.set_cookie(‘key’, ‘value’)   #设置cooke
print request.COOKIES   #获取cookie
request.COOKIES.get(‘page_num’,10)

 

以上是关于Django 基础的主要内容,如果未能解决你的问题,请参考以下文章

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段

[vscode]--HTML代码片段(基础版,reactvuejquery)

Django REST框架--认证和权限

如何在 Django 中显式重置模板片段缓存?

使用 Django 模板作为片段

python 通过django片段很多很多