热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

django使用vanilla和forms画页面

vanilla是django的一个框架,更高效,不过使用思路有点与众不同。????先看官方文档说明:http:django-vanilla-views.orgapimodel-

? ? ? ?vanilla是django的一个框架,更高效,不过使用思路有点与众不同。

? ? ? ?先看官方文档说明:http://django-vanilla-views.org/api/model-views

? ? ? ?只有两种模式:base views ,model views

?

? ? ? ? 使用思路:

? ? ? ? 1.url层配置,as_views模式,跟viewlist,generic通用模式类似

? ? ? ? ?urlpatterns = patterns(‘‘,

url(r‘^$‘, views.JiraIssueView.as_view(), name=‘issue-list‘),
url(r‘^trackTask/$‘, views.TrackTaskView.as_view(), name=‘track-task‘),
}

? ?

? ??class SearchTrackTask(forms.Form):

app_name = forms.CharField(max_length=255, widget=forms.TextInput({‘class‘: ‘form-control‘, ‘placeholder‘: ‘发布应用名称‘}))
app_version = forms.CharField(max_length=255, widget=forms.TextInput({‘class‘: ‘form-control‘, ‘placeholder‘: ‘发布应用版本‘}))

? ? operater = forms.CharField(max_length=255, widget=forms.TextInput({‘class‘: ‘form-control‘, ‘placeholder‘: ‘发布者‘}))? ? ? ?

?

? ? ? ? 2.views层写法,与前端交互,并返回数据

? ? ? ? ? ? ?(1)这里跟普通的框架不同之处在于,content是程序里返回

? ? ? ? ? ? ? ?(2)没有render,httpresponserender这类,也没有指定数据返回的页面。具体原因继续往下看

class?TrackTaskView(ListView):

model = models.TrackTask
form_class = forms.SearchTrackTask
queryset = None
lookup_field = ‘title‘
paginate_by = 15
‘‘‘
返回context信息
‘‘‘
def get_context_data(self, **kwargs):
cOntext= super(TrackTaskView, self).get_context_data(**kwargs)
# add search form
context[‘form‘] = self.get_form()
context[‘title‘] = u‘发布状态跟踪‘
context[‘introduction‘] = u‘包含信息:发布人,应用名称,应用版本,状态信息,状态更新时间。‘
# show maintenance notification. If it‘s empty, the notification will not be appeared in the page.
context[‘notification‘] = u‘‘
# login partial and commons
context[‘year‘] = datetime.now().year
return context
‘‘‘
查询数据返回
‘‘‘
def get_queryset(self):
# support search
try:
app_name = self.request.GET[‘app_name‘]
app_version = self.request.GET[‘app_version‘]
operater = self.request.GET[‘operater‘]
except Exception as e:
app_name = ‘‘
if app_name == ‘‘:
return models.TrackTask.objects.filter(app_name=app_name).order_by(‘id‘)
else:
return models.TrackTask.objects.filter(app_version=app_version).order_by(‘id‘)

?

? ? ? 3.返回数据的页面格式class_list.html

?

? ? ? ? ? ? tracktask_list.html

? ? ? ? ? ? 页页调用action

? ? ? ? ? ??

  • 发布状态跟踪
  • ?

    ? ? ? ?成品:

    ?

    ? ? ? ? ? ? ?
    bubuko.com,布布扣
    ?

    ? ? ? ? 总结:更高效的编码,但使用方式思路有点异类,看了一个小时官方文档,才明白怎么使用

    ?

    ?


    推荐阅读
    • ListView简单使用
      先上效果:主要实现了Listview的绑定和点击事件。项目资源结构如下:先创建一个动物类,用来装载数据:Animal类如下:packagecom.example.simplelis ... [详细]
    • 本篇文章介绍如何将两个分别表示整数的链表进行相加,并生成一个新的链表。每个链表节点包含0到9的数值,如9-3-7和6-3相加得到1-0-0-0。通过反向处理链表、逐位相加并处理进位,最终再将结果链表反向,即可完成计算。 ... [详细]
    • 解决TensorFlow CPU版本安装中的依赖问题
      本文记录了在安装CPU版本的TensorFlow过程中遇到的依赖问题及解决方案,特别是numpy版本不匹配和动态链接库(DLL)错误。通过详细的步骤说明和专业建议,帮助读者顺利安装并使用TensorFlow。 ... [详细]
    • 探索新一代API文档工具,告别Swagger的繁琐
      对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
    • 深入解析 Android IPC 中的 Messenger 机制
      本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
    • Python自动化测试入门:Selenium环境搭建
      本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
    • Java中的基本数据类型与包装类解析
      本文探讨了Java编程语言中的8种基本数据类型及其对应的包装类。通过分析这些数据类型的特性和使用场景,以及自动拆装箱机制的实现原理,帮助开发者更好地理解和应用这些概念。 ... [详细]
    • Django Token 认证详解与 HTTP 401、403 状态码的区别
      本文详细介绍了如何在 Django 中配置和使用 Token 认证,并解释了 HTTP 401 和 HTTP 403 状态码的区别。通过具体的代码示例,帮助开发者理解认证机制及权限控制。 ... [详细]
    • 本文详细介绍了 Android 开发中 layout_gravity 属性的使用方法及其在不同布局下的效果,旨在帮助开发者更好地理解和利用这一属性来精确控制视图的布局。 ... [详细]
    • 探讨 HDU 1536 题目,即 S-Nim 游戏的博弈策略。通过 SG 函数分析游戏胜负的关键,并介绍如何编程实现解决方案。 ... [详细]
    • 本文详细介绍了一种高效的算法——线性筛法,用于快速筛选出一定范围内的所有素数。通过该方法,可以显著提高求解素数问题的效率。 ... [详细]
    • 本文详细介绍了get和set方法的作用及其在编程中的实现方式,同时探讨了点语法的使用场景。通过具体示例,解释了属性声明与合成存取方法的概念,并补充了相关操作的最佳实践。 ... [详细]
    • 深入剖析JVM垃圾回收机制
      本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
    • Vue 开发与调试工具指南
      本文介绍了如何使用 Vue 调试工具,包括克隆仓库、安装依赖包、构建项目以及在 Chrome 浏览器中加载扩展的详细步骤。 ... [详细]
    • 本文详细探讨了Java中的包管理机制,包括默认包的使用和自定义包名的创建方法。通过实际操作,帮助开发者更好地理解和应用包管理。 ... [详细]
    author-avatar
    健健22010
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有