博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通用视图
阅读量:6173 次
发布时间:2019-06-21

本文共 1672 字,大约阅读时间需要 5 分钟。

向用户展示hvvms、hvsrvs、hvvhds信息,除了model名称不同,view中的功能都相同,所以可以通过通用视图实现,减少代码重复

参考:http://djangobook.py3k.cn/2.0/chapter08/

1.编辑urls.py

from django.conf.urls import *from django.conf.urls import urlfrom . import views,modelsurlpatterns = [    url(r'^$', views.index, name='index'),        # url(r'^vmmgmt/$', views.vmmgmt, name='vmmgmt',{'template_name':'sinfors/vmmgmt.html'}), #在view中使用render_to_response传递template_name参数 defvmmgmt(request,template_name)    url(r'^vmmgmt-vms/$', views.vmmgmt,{
'model':models.hvvms},name='vmmgmt-vms'), #通过 model 参数直接传递模型类 url(r'^vmmgmt-hv/$', views.vmmgmt,{
'model':models.hvsrvs},name='vmmgmt-hv'), url(r'^vmmgmt-vhd/$', views.vmmgmt,{
'model':models.hvvhds},name='vmmgmt-vhd'), ]

2.编辑views.py

def vmmgmt(request,model): #接收url中的model参数    obj_list = model.objects.all() #从url中的 model 参数接收到具体的model类。模板中要使用 obj_list 变量做for循环    counts = model.objects.count()    if request.method == 'GET':        if 'q-hv' in request.GET:            qdata = request.GET['q-hv']            if qdata is not None:                obj_list = model.objects.filter(serverip__icontains=qdata)                counts = len(obj_list)     context={
'obj_list':obj_list,'counts':counts} template_name = 'sinfors/vmmgmt_%s.html' % model.__name__.lower() # 每个Python的类都有一个 __name__ 属性返回类名。 这特性在当我们直到运行时刻才知道对象类型的这种情况下很有用。 比如, hvvms 类的 __name__ 就是字符串 'hvvms' 。 return render(request,template_name,context) #####return render_to_response(template_name,context)无法接收csrfmiddretoken参数

3.已有如下model和模板:

model:  

hvvms.objects.all() #虚机信息

hvsrvs.objects.all() #宿主信息
hvvhds.objects.all() #vhd信息

模板:

vmmgmt_hvvms #虚机模板

vmmgmt_hvsrvs #宿主模板
vmmgmt_hvvhds #VHD模板

 

转载地址:http://xjqba.baihongyu.com/

你可能感兴趣的文章
How to Deploy Magento 2 on CentOS 7 with ECS and ApsaraDB
查看>>
Netkiller Linux 手札之前言
查看>>
基于lua的网页脚本开发语言cgilua(转)
查看>>
新的三种EBS类型解析
查看>>
[20171019]关于光标共享问题.txt
查看>>
分享非常有用的Java程序(关键代码)(七)---抓屏程序
查看>>
【Spring】Spring常用配置-Bean的Scope
查看>>
微信公众平台企业号建设——北京理工大学
查看>>
吐槽我听到的一家小创业公司的故事
查看>>
做一个合格的Team Leader -- 基本概念
查看>>
leetcode 190 Reverse Bits
查看>>
距大批人类登上火星只剩7年?马斯克的第二版“火星梦”
查看>>
阿里巴巴发布AliOS品牌 重投汽车及IoT领域
查看>>
OPENCV图像处理(二):模糊
查看>>
glassfish4系统启动脚本
查看>>
VMware 虚拟化编程(13) — VMware 虚拟机的备份方案设计
查看>>
阿里云服务器安装Redis及基本配置
查看>>
所谓金融科技公司扎堆赴美IPO背后的隐忧
查看>>
(九个故事)9个哲理(转)
查看>>
独家 | 一文读懂推荐系统知识体系-下(评估、实战、学习资料)
查看>>