- 浏览: 53963 次
文章分类
- 全部博客 (98)
- openstack (14)
- spring+hibernate+jdbc (15)
- dashboard (1)
- Python (3)
- nova (2)
- ubuntu (1)
- Linux (2)
- apache (1)
- openstack,错误 (1)
- Windows (1)
- horizon (1)
- websocket (1)
- java (2)
- mybatis (4)
- quartz (2)
- git (1)
- spring,错误 (1)
- angularJS (8)
- redis (2)
- vim (1)
- virsh (1)
- jsp (1)
- react (1)
- openstack,openstack安装 (4)
- 社区 (1)
最新评论
-
haoningabc:
前后端都会啊,全栈女神啊
angularJS 弹出层 -
haoningabc:
好厉害,偶像
openstack安装--keystone
首先根据horizon/doc/source/tutorials/dashboard.rst新加目录结构mydashboard->mypanel
一,从数据库中取数据,显示在mypanel的index页面
1.tables.py
2.urls.py
3.views.py
4.tabs.py
5.新加usemysql.py文件,在这里对数据库进行操作
二,删除user
1.tables.py
2.usemysql.py新加如下内容
三,增加user
1.tables.py
2.urls.py
3.views.py新加CreateUserView类
4.forms.py 新加CreateUser类
5.usermysql.py新加create方法
6.在templates/mypanel下新加create.html与_create.html
create.html
四、修改user
1.tables.py
2.usemysql.py 新加online函数
一,从数据库中取数据,显示在mypanel的index页面
1.tables.py
class InstancesTable(tables.DataTable): 定义index页面的字段为数据库里表的字段 这里定义了,name、age字段 (数据库中的id字段是自增的主键)
2.urls.py
url(r'^$', views.IndexView.as_view(), name='index'),
3.views.py
from openstack_dashboard.dashboards.mydashboard.testpanel import tabs as mydashboard_tabs class IndexView(tabs.TabbedTableView): tab_group_class =mydashboard_tabs.YourpanelTabs template_name = 'mydashboard/mypanel/index.html'
4.tabs.py
from openstack_dashboard.dashboards.mydashboard.mypanel import usemysql class YourpanelTabs(tabs.TabGroup): slug = "yourpanel_tabs" tabs = (UsersTab,) //需要修改 tabs = (InstanceTab,BooksTab,) sticky = True 新加UsersTab class UsersTab(tabs.TableTab): name = _("Users Tab") slug = "users_tab" table_classes = (tables.InstancesTable,) template_name = ("horizon/common/_detail_table.html") preload = False def has_more_data(self, table): return [] def get_instances_data(self): sql=usemysql.sql() instances=sql.list() return instances
5.新加usemysql.py文件,在这里对数据库进行操作
import MySQLdb from openstack_dashboard import api class sql(): db = MySQLdb.connect(user='', db='', passwd='', host=' ') cursor = db.cursor() def list(self): self.cursor.execute('SELECT * FROM users ORDER BY id') myarr=self.cursor.fetchall() aa=[] for i in range(len(myarr)): aa.append(api.nova.Server({},False)) //要使从数据库取得的数据显示在mypanel的表格中,数据必须符合horizon定义的格式 aa[i].id=myarr[i][0] aa[i].name=myarr[i][0+1] aa[i].age=myarr[i][0+2] instances=aa return instances
二,删除user
1.tables.py
from openstack_dashboard.dashboards.mydashboard.mypanel import usemysql from openstack_dashboard import policy from django.utils.translation import ungettext_lazy class InstancesTable(tables.DataTable): class Meta: row_actions = (DeleteUser,) //需要新加 添加DeleteUser类 class DeleteUser(policy.PolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( u"Delete User", u"Delete Users", count ) @staticmethod def action_past(count): return ungettext_lazy( u"Deleted User", u"Deleted Users", count ) def allowed(self, request, datum): return True def delete(self, request, obj_id): sql=usemysql.sql() sql.delete(obj_id) return []
2.usemysql.py新加如下内容
class sql(): def delete(self,obj_id): self.cursor.execute("DELETE FROM users WHERE id = '"+obj_id+"'") self.db.commit()
三,增加user
1.tables.py
class InstancesTable(tables.DataTable): class Meta: table_actions = (CreateUser,) 新加CreateUser 类 class CreateUser(tables.LinkAction): name = "User" verbose_name = _("Create User") url = "horizon:mydashboard:mypanel:create" classes = ("ajax-modal",) icon = "plus" def allowed(self, request, instance=None): return True
2.urls.py
url(r'^create/$', views.CreateUserView.as_view(), name='create'),
3.views.py新加CreateUserView类
from horizon import forms from openstack_dashboard.dashboards.mydashboard.mypanel import forms as mydashboard_forms from django.utils.translation import ugettext_lazy as _ from django.core.urlresolvers import reverse_lazy class CreateUserView(forms.ModalFormView): form_class = mydashboard_forms.CreateUser form_id = "create_image_form" modal_header = _("Create An User") submit_label = _("Create User") submit_url = reverse_lazy("horizon:mydashboard:mypanel:create") template_name = 'mydashboard/mypanel/create.html' context_object_name = 'user' success_url = reverse_lazy("horizon:mydashboard:mypanel:index") page_title = _("Create An User") def get_initial(self): initial = {} for name in [ 'name', 'age', ]: tmp = self.request.GET.get(name) if tmp: initial[name] = tmp return initial
4.forms.py 新加CreateUser类
from openstack_dashboard.dashboards.mydashboard.mypanel import usemysql from django.utils.translation import ugettext_lazy as _ class CreateUser(forms.SelfHandlingForm): id = forms.CharField(label=_("Person ID"), widget=forms.HiddenInput(), required=False) name = forms.CharField(max_length=255, label=_("Person Name")) age = forms.CharField(max_length=255, label=_("Person Age")) def __init__(self, request, *args, **kwargs): super(CreateUser, self).__init__(request, *args, **kwargs) def handle(self,request, data): sql=usemysql.sql() sql.create(data) return []
5.usermysql.py新加create方法
def create(self,data): aa="insert into users(name,age) values('"+data['name']+"','"+data['age']+"')" self.cursor.execute(aa) self.db.commit()
6.在templates/mypanel下新加create.html与_create.html
create.html
{% extends 'base.html' %} {% load i18n %} {% block title %}{% trans "Create An User" %}{% endblock %} {% block main %} {% include 'project/images/images/_create.html' %} {% endblock %} _create.html {% extends "horizon/common/_modal_form.html" %} {% load i18n %} {% block ng_controller %}ImageFormController as ctrl{% endblock %} {% block form_attrs %}enctype="multipart/form-data"{% endblock %} {% block modal-body-right %} <h3>{% trans "Description:" %}</h3> {% endblock %}
四、修改user
1.tables.py
from horizon import forms from openstack_dashboard import api class InstancesTable(tables.DataTable): name = tables.Column("name", verbose_name=_("Name"),form_field=forms.CharField(max_length=64),update_action=UpdateCell) age = tables.Column("age", verbose_name=_("Age1"),form_field=forms.CharField(max_length=64),update_action=UpdateCell) 在字段后面新加:form_field=forms.CharField(max_length=64),update_action=UpdateCell class Meta: row_class = UpdateRow //新加 新加UpdateCell与UpdateRow class UpdateRow(tables.Row): ajax = True def get_data(self, request, id): user=api.nova.Server({},False) user.id=id return user class UpdateCell(tables.UpdateAction): def allowed(self, request, instance, cell): policy_rule = (("identity", "identity:update_project"),) return True def update_cell(self, request, datum, id,cell_name, new_value): aa=datum sql=usemysql.sql() sql.online(id,cell_name,new_value) return True
2.usemysql.py 新加online函数
def online(self,id,cell_name,new_value): if cell_name=='name': self.cursor.execute("update users set name='"+new_value+"' where id='"+id+"'") elif cell_name=='age': self.cursor.execute("update users set age='"+new_value+"' where id='"+id+"'") self.db.commit()
发表评论
-
openstack安装--nova
2016-08-30 16:10 702在controller节点操作 创建Nova数据库 mysq ... -
openstack安装--glance
2016-08-29 15:01 696创建glance数据库 mysql -u root -p C ... -
openstack安装--keystone
2016-05-27 12:12 1220安装在controller节点 一、数据库 1、要求contr ... -
Nova 架构
2016-03-24 15:53 869消息队列:松耦合、异步、负载均衡 运算工作站 网络控制器 F ... -
dashboard->admin->instance->action
2016-03-24 15:50 638admin->instance->虚拟机创建快照 ... -
dashboard 增加编辑按钮
2016-03-23 22:24 712用到其他目录下的文件,用到workflows 1.table ... -
dashboard增加删除虚拟机按钮
2016-03-23 14:15 433vim tables.py 新加如下内容 from dja ... -
nova 建虚拟机
2016-03-23 11:27 338要用Nova建虚拟机,首先要用neutron建立网络 1.建立 ... -
dashboard添加可编辑字段
2016-03-18 20:41 482在tables.py中添加如下代码: class Update ... -
dashborad 增加action
2016-03-17 12:03 626=============================== ... -
horizon 增加plugin
2016-03-16 21:27 419============== Horizon Plugin = ... -
horizon 添加目录
2016-03-15 20:03 1073在horizon中创建一个dashboard 1.在mydas ... -
openstack horizon开发环境配置
2016-03-15 19:48 892mkdir open_src cd open_src 1.选 ...
相关推荐
VMware Horizon 7.10 是一款强大的虚拟桌面基础设施(VDI)解决方案,它提供了集中管理和交付虚拟桌面和应用程序的功能。在本手册中,我们将聚焦于Horizon Composer服务器的安装和配置,这是一个关键组件,用于高效...
1. **增强的性能和稳定性**:此版本可能对连接速度、资源使用率以及系统稳定性进行了优化,确保用户在远程操作时能够获得流畅的体验。 2. **多平台支持**:除了32位Windows系统,可能也支持其他操作系统,如macOS和...
- **SQL Server 2012**: SQL Server用于存储Horizon View的各种配置数据和日志,确保数据库操作的高效和可靠性。 2. **Horizon View组件**: - **Horizon 7.9**: VMware Horizon 7.9版本引入了更多的优化和增强,...
本《适用于 Linux 的 VMware Horizon Client 安装和设置指南》文档提供了有关在 Linux 客户端系统上安 装、配置和使用 VMware Horizon® Client™ 软件的信息。 本文档中的信息包括安装和使用适用于 Linux 的 ...
3. **多平台支持**:除了Windows,VMware Horizon Client还适用于多种操作系统,包括Mac OS X、Linux、iOS和Android,确保跨平台的兼容性。 4. **硬件设备共享**:在连接到虚拟桌面时,Horizon Client可以模拟本地...
1. **多平台支持**:VMware Horizon Client支持多种操作系统,使得无论用户是在桌面电脑还是移动设备上,都能无缝地接入虚拟环境,提升了工作效率和灵活性。 2. **安全连接**:Horizon Client使用安全的协议进行...
安装和配置 VMware Horizon 7 需要对虚拟桌面基础架构有充分的了解和理解。以下是 VMware Horizon 7 安装手册超详细版的知识点总结: 一、安装前说明 在安装 VMware Horizon 7 之前,需要了解虚拟桌面基础架构的...
VMware Horizon Client是一款由VMware公司开发的远程桌面和应用接入软件,主要用于连接虚拟桌面环境,如VMware Horizon 7或Horizon Cloud。这个版本,4.6.1,具有版本号6748947,是该产品的一个更新,可能包含性能...
4. Horizon Connection Server:该服务充当客户端的连接点,Horizon Connection Server 通过 Windows Active Directory 对用户提供身份验证,并将请求定向到相应的虚拟机、或服务器。 5. Horizon Composer:该服务...
本文档旨在提供一个详细的 VMware Horizon 搭建实施手册,涵盖了从 ESXI 主机安装到 vCenter 安装、composer 安装、SQL server 安装、connection 安装等各个服务器配置,以及桌面模板优化的全过程实施细节。...
4. **安装文件VMware-Horizon-View-Client-x86_64-3.5.2-3150477.exe**:这是一个Windows操作系统的可执行安装文件,用于在用户的计算机上安装Horizon View Client。执行此文件会引导用户完成安装过程,包括接受许可...
手册的目标是更新基础安装平台,包括 vSphere 6.5、Windows Server 2012 和 SQL Server 2012,以及后续介绍高级特性如 Workspace、vRealize Operations for Horizon 和 App Volumes。 在测试环境中,所有设置都在 ...
( Horizon 7 Enterprise Key(100并发数-亲测可用)大家快点下载了
OpenStack Horizon是OpenStack的Web管理界面,它为用户提供了一个图形化的操作平台,便于管理OpenStack云环境。Horizon源码的分析有助于我们了解其工作原理,更好地定制和扩展OpenStack的用户界面。 【描述】:在...
"AE插件Horizon"是Adobe After Effects(简称AE)的一款扩展工具,它为用户提供了全新的视觉效果和创意可能性。这款插件的核心功能是创建出水平或垂直的无限延伸背景,使得画面呈现出一种无限广阔的视界,常用于制作...
### VMware Horizon 7 安装部署关键知识点 #### 一、概述 **VMware Horizon 7** 是一款领先的桌面虚拟化解决方案,它允许企业在数据中心内部署虚拟化环境,并将其交付给员工。通过这种方式,最终用户能够在一个...