django基础知识记录

因为django学习中,一些方法函数或是属性总是忘记,于是在此做一个记录,将遇到的一些常用的或者经常忘记以至于重复搜索的记录下来

  • related_name:
    它的值是外键名,可以通过它查询所有属于主表的子表信息。
    例如:
    author = models.ForeignKey(User,related_name="article")
    表明一对多关系,当前表是User的子表,调用时可以通过User表,用定义的外键名,查询到子表

  • Meta类中的fields属性:
    可以将其他类中定义好的子段直接调用过来在此表单中用,fields中的属性就是调用的字段名称

from django import forms
from .models import ArticlePost
class ArticlePostForm(forms.ModelForm):
    class Meta:
        model = ArticlePost
        fields = ("title","body")
from django.db import models
class ArticlePost(models.Model):
    title = models.CharField(max_length=200)
    body = models.TextField

若想调用全部,可以使用fields = "__all__"

  • reverse():
    避免视图函数中的硬编码
    调用方式:reverse(viewname,urlconf=None,args=None,kwargs=None,current_app=None)
    viewname是在应用中的urls中设置的name值
    模板文件中使用链接地址时可以使用{% urls viewname %}的形式来代替硬编码,在视图函数中,就可以使用例如HttpResponseRedirect(reverse('appname:viewname'))来代替硬编码

  • filter
    用来对数据库中的数据进行筛选。例如
    columns = ArticleColumn.objects.filter(user=request.user)
    注意:当没有找到符合要求的查询字段时,会返回一个空的查询集,不会报出异常

  • 过滤器
    格式为{{value|filter}},filter为过滤器。常用的过滤器有:
    capfirst:将value的第一个字符转换为大写,若不是字母则过滤器失效
    cut:移除value的字符,例如空格
    date:根据指定格式输出时间,如{{value|data:”D d M Y”}}
    join:利用指定字符连接所给列表元素

  • slug
    作用:为每条记录生成一个可读性较好的url,有助于永久链接的发布

  • render()
    将request参数,以及数据(默认字典类型)传入指定模板中进行渲染。字典的键是模板中的变量名字,值是已经定义过的变量名

  • {{ name}}
    常为模板中的变量表示形式。加载模板时,这些会被传入的变量所代替。也可以在变量后面加.以调用变量的属性

  • form表单绑定
    当传入视图函数的请求是POST类型时,可以将数据传入表单函数,传回的就是一个和数据绑定的表单

  • save(commit=False)
    用户提交一条表单信息时,有时我们不能直接将这条信息添加入数据库,而是需要后台再添加一些用户的提交的表单信息中没有的属性值。此时我们就需要使用commit=False,它可以返回一个实例,并且数据暂时不会提交到数据库。可以在后台将数据添加到实例中之后,再用.save()将实例提交到数据库。

  • User对象
    这是django中默认的用户的对象类型。在网上查到的它包含的属性有
    username:用户名,可以包含字符,长度不能超过30,必选
    first_name:姓,可选
    last_name:名,可选
    email:邮箱,可选
    password:密码,必选
    groups:介绍说是和group(用户组)为多对多关系
    user_permissions:介绍说是和Permission(权限)为多对多关系
    is_active:是否处于活跃状态。不活跃状态相当于账号封禁
    is_staff:是否可以访问admin页面,默认False
    is_superuser:是否为超级用户,相当于root用户,默认False
    last_login:上次登录时间。默认当前时间
    date_joined:此用户被创建的时间
    方法有:
    is_anonymous():是否匿名
    is_authenticated():是否通过验证登录
    get_full_name():返回姓和名 中间用空格隔开
    get_short_name():返回姓
    set_password(raw_password):设置密码
    check_password(raw_password):验证密码
    get_group_permissions(obj=None):以集合形式返回用户组所有权限
    has_perm(perm, obj=None):判断用户是否拥有某项权限
    has_perms(perm_list, obj=None):判断是否拥有此列表中的所有权限

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值