• django备忘


    命令:ctrl+alt+R
    设置:ctrl+alt+S


    获取硬件信息psutil模块
    1.setting路径设置
    STATICFILES_DIRS=((os.path.join(BASE_DIR, 'static')),)
    2.正则路径:
    (?p<nid>d+)
    3.url传参数
    url(r^'',{'name':'alex'})
    def index(req,name):
      pass
    4.url路径别名
    url(r^'index',name='cc')
    {% url 'cc' %}

    5.render用法
    方法一:
    render(req,'index.html',{})

    方法二:
    render(req,'index.html',locals())
    6.redirect页面跳转 重定向
    redirect('/blog/blog')
    7.url分发
    include('')
    8.{{}}列表显示
    list.2/list.x


    9.模版
    {% if %}
    {%endif%}
    {%for i in obj%}
      {{forloop.counter1/0}}计数从0或1开始
      {{forloop.revcounter}}反向打印
      {{i}}
    {%endfor%}

    filter:
    {{obj|upper}}大写
    {{obj|lower}}小写
    {{obj|capfirst}}首字母大写
    {{obj|addslashes}}变量前加斜线
    {{s6|add:5}}


    安全渲染字符串到页面
    {% autoescape off%}
    {{xx}}
    {% endautoescape%}
    或者
    {{xx|safe}}

    {%csrf_token%}跨站

    {%verbatim %}禁止render数据显示
      {{hello}}
    {%endverbatim%}
    10.自定义过滤器 simple_tag:

    创建templatetags模块
    创建xx.py
    from django import template
    register = template.Library()#register的固定变量名,不能改变
    @register.simple_tag
    def func(v1):
      return v1+'world'

    {%load xx%}
    {%func name%} name是参数
    11.html页面继承
    {%extends ' xx.html '%}
    {%block content%}
    {{block.super}}

    {%endblock%}

    orm
    创建表
    class Public(models.Model):
    添加数据:
    方式1
    Public.objects.create(字段1= ,字段= ,)
    Public.objects.create(**{字段1:})
    方式2
    Public(字段1= ,字段= ,).save()


    obj = Public()
    obj.字段 =
    obj.save()
    查询/查
    Public.objects.filter(id = 1).delete()

    obj = Public.objects.get(id = 5).name='aa'
    obj = .save()

    Public.objects.filter(id = 2).update(name='dd')

    Public.objects.filter(name='',id=)集合对象
    Public.objects.all()

    Public.objects.get(name='',id=)对象

    Public.objects.filter(name='',id=).values('name')只取name字段的值是列表字典序列

    Public.objects.filter(name='',id=).values_list('name')
    Public.objects.filter(name='',id=).distinct()剔除重复的记录
    Public.objects.filter(name='',id=).first()

    Public.objects.filter(name='',id=).last()
    Public.objects.filter(name='',id=).count()

    Public.objects.filter(name='',id=).exists() 如果queryset包含数据 TRue,不包含 false


    一对一

    一对多
    绑定到多的里面,
    创建方法
    1.
    obj_id = 1

    2.
    obj = obj对象

    多对多

    关联
    obj = Public.objects.filter(name='',id=)[0]
    obj.author.add(auth1,auth2)
    obj.author.add(*[auth1,auth2])
    联合唯一
    class Meta: unique_together = ('field1', 'field2',)

    正反项查询

    条件查询
    id__gt=2 大于

    id__lt=2 小于

    id__in=[1,2,3,4]等于列表任意值

    title__contains='p' title包含p的都符合
    icontains 忽略大小写

    id__range[1,2] 大于一 小于二

    title__startwith='p' 以p开头

    关联查询
    obj__title='python'

    聚合查询
    from adjango.db.models import Avg,Min,Max,Sum
    Book.objects.all().aggregate(Avg('price'))
    结果:
    {'price_avg':34.35}

    分组聚合
    按名字分组求和,
    Book.objects.values('name').annotate(Sum('price'))
    [{'name':'a','price_sum':Decimal(143.00)},
    {'name':'b','price_sum':Decimal(143.00)}]
    F,Q
    from django.db.models import F,Q
    Book.objects.all().update(price=F('price')+90)

    Book.objects.filter(Q(id=3)|Q(id=7))

    Suit-v2(demo)、Xadmin(浏览网站可能需要FQ)、grappellidjango-admin-bootstrapped

    django-suit

    连接数据库
    app :__init__.py
    import pymysql
    pymysql.install_as_MySQLdb()
    ajax

    $.get('url',{传递数据},function(data,statusTest,obj){})
    $.post('url',{传递数据},function(data,statusTest,obj){})
    $.ajax({
      url:'/ /',
      type:'POST/GET',
      data:{},
      processData:false,
      contentTYpe:'text'
      traditional:true,
      dataType;'json',
      success:function(data){
    }

    })


    F Q:

    models.Book.objects.all().update(price=F(
    price)+1)

    models.Book.objects.all().filter(Q(price)|Q(title));










  • 相关阅读:
    redis同步指定key数据到其他redis中
    Golang 生成随机数
    怎么理解“平均负载”? 进行分析等
    Golang打印空心金字塔for循环实现
    python十几行代码实现三级菜单
    mysql增量恢复
    python内建函数
    python练习题总结
    迭代器和生成器
    python基础数据类型
  • 原文地址:https://www.cnblogs.com/zhang997050423/p/7276833.html
Copyright © 2020-2023  润新知