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 %}
    
    
  • 相关阅读:
    lhgdialogv3.13 使用点滴
    CheckBoxList 取值 及选中相关用法
    repeater 及 gridview 中绑定短日期
    数据库中日期大小的判断
    父子不同窗口间刷新传值
    子级Repeater获取父级Repeater绑定项的值
    vs.net 2010 web 项目中使用 webservice
    web打印实现方案 Lodop6.034 使用方法总结
    用 showModalDialog 方法回传数据到父页中去
    vs.net2010中使用 Ajax Control Toolkit
  • 原文地址:https://www.cnblogs.com/qev211/p/14780176.html
Copyright © 2011-2022 走看看