zoukankan      html  css  js  c++  java
  • 类视图函数 VIEW

    常用的视图函数: ListView、DetailView、UpdateView

    1 ListView

    object_list:此属性表示对象的列表

    常用场景:
    1、展示数据库中信息;
    2、在展示信息时,在html中加入超链接 或是 按钮,实现信息修改、删除等操作;

    from django.views.generic import ListView
    from .models import Article
    from django.utils import timezone
    
    Class StudentList(ListView):
        model = Aticle # 相当于queryset=Student.objects.all()
        # 若是想获取指定的数据可以将此句修改为 1 或 2 
        # 1、queryset = Article.objects.filter(author=self.request.user).order_by('-pub_data)
        # 2、def get_queryset(self):
        #      return Article.objects.filter(author=self.request.user).order_by('-pub_data)
        template_name = 'blog/article_list.html'
        # 可以给object_list重新命名如下
        # context_object_name = 'my_articles'
        # 可以重写下面的方法,获取其他内容,如当前时间
        def get_context_data(self, **kwargs):
            context = super().get_context_data(**kwargs)
            context['now'] = timezone.now()
            return context
    

    2 CreateView UpdateView

    常用场景:
    1、注册、修改信息;

    from django.views.generic import UpdateView
    # 修改项目视图
    class ProjUpdateView(UpdateView):
        model = Project
        fields = ['project_name','description']
        template_name = 'proj/update_form.html'
        slug_field = "pk"  #必须,在html中传一个参数
        slug_url_kwarg = "pk"
    
        def get_absolute_url(self):
            return reverse('project:success')
    
    # 新增项目视图
    class ProjCreateView(CreateView):
        model = Project
        fields = ['project_name','description']
        template_name = 'proj/create_form.html'
    
    {% if user.is_authenticated %}
    <form method="post">{% csrf_token %}
        {{ form.as_p }}
        <input class="btn btn-default" type="submit" value="Update" />
    </form>
    {% endif %}
    
    
  • 相关阅读:
    mysql qps tps
    SQL RIGHT JOIN 关键字
    C#的多态性
    c# 与java之间的简单区别
    多少行转多少列
    SQL语句中&、单引号等特殊符号的处理
    sql 函数的理解
    c# 基础之数组(包含三维数组)
    泛型之Dictionary
    在十六进制字符串与数值类型之间转换
  • 原文地址:https://www.cnblogs.com/qev211/p/14780176.html
Copyright © 2011-2022 走看看