`

dashboard->admin->instance->action

阅读更多
admin->instance->虚拟机创建快照
引用project->instance->tables.CreateSnapshot
CreateSnapshot的操作逻辑步骤:
1.class CreateSnapshot def allowed//该函数的作用是判断是否允许创建,返回Ture或Fasle
2.url = "horizon:project:images:snapshots:create" 找url中对应的views,注意:urls.py文件是在horizon:project:images:snapshots下的urls.py
3.from openstack_dashboard.dashboards.project.images.snapshots import views.CreateView
4.views.CreateView重要的几个地方:
  form_class = project_forms.CreateSnapshot
  submit_url = "horizon:project:images:snapshots:create"
  success_url = reverse_lazy("horizon:project:images:index")
  def get_object(self):  该方法的作用是:通过instance_id得到虚拟机实例
  def get_initial(self):返回虚拟机的instance_id
  def get_context_data: 获取一些参数
5.project_forms.CreateSnapshot
  forms.py里是真正的逻辑操作:
     定义页面字段instance_id(隐藏的)和name 
     def handle 逻辑处理函数snapshot = api.nova.snapshot_create 调用Nova的API



admin->instance->增加过滤器
table_actions = (AdminInstanceFilterAction,)
class AdminInstanceFilterAction(tables.FilterAction):
此类中有三个字段:
  name、filter_type、filter_choices 
注意:每个table_actions只能加一个filter



tabs.py的作用:
有时模板文件需要传值,就通过tabs.py传值。模板可以直接用其内的值

admin->instance->console,可以通过该页面进入虚拟机
1.admin->instance->tables.py
 row_actions=(AdminConsoleLink)
class AdminConsoleLink(project_tables.ConsoleLink):
    url = "horizon:admin:instances:detail"
2.urls.py
detail->views.DetailView
3.from openstack_dashboard.dashboards.project.instances import views
views.py->class DetailView(views.DetailView):

4.project.instances.views.DetailView
class DetailView(tabs.TabView):
类中重要的地方:第一、tab_group_class = project_tabs.InstanceDetailTabs
      <1>InstanceDetailTabs
         class InstanceDetailTabs(tabs.TabGroup):
    		slug = "instance_details"
    		tabs = (OverviewTab, LogTab, ConsoleTab, AuditTab) //定义了四个功能,四个子页面,
									其中ConsoleTab就是操作虚拟机的页面,重点看
    		sticky = True
      <2>class ConsoleTab(tabs.Tab):
         重要的地方template_name = "project/instances/_detail_console.html"
          首先查看模板里需要的变量
		{{ console_url }}:控制台的连接
	  所以该类必须定义该变量的值
          console_type, console_url = console.get_console(
                request, console_type, instance)
	  from openstack_dashboard.dashboards.project.instances import console
 	  调用console.get_console的方法获取console_url
第二、该类重载了redirect_url、image_url、volume_ur变量,并定义了_get_actions方法


分享到:
评论

相关推荐

    dashboard-adminuser.yaml

    name: kubernetes-dashboard-admin namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: kubernetes-dashboard-admin labels: k8s-app: ...

    最新版 sentinel-dashboard-1.8.2.jar

    最新版 sentinel-dashboard-1.8.2.jar最新版 sentinel-dashboard-1.8.2.jar最新版 sentinel-dashboard-1.8.2.jar

    rocketmq-dashboard-1.0.1-SNAPSHOT.jar

    rocketmq-dashboard-1.0.1-SNAPSHOT.jar

    sentinel-dashboard-1.8.3官网资源

    "sentinel-dashboard-1.8.3官网资源"指的是Sentinel的1.8.3版本控制台的资源包,这个资源包中包含的主要组件是(sentinel-dashboard-1.8.3.jar),这是Sentinel Dashboard的可执行jar文件。 Sentinel Dashboard 是 ...

    sentinel-dashboard-1.8.1.jar

    sentinel-dashboard-1.8.1

    sentinel-dashboard-1.7.1.jar

    sentinel-dashboard-1.7.1.jar sentinel-dashboard-1.7.1.jar sentinel-dashboard-1.7.1.jar 国内下载快点

    sentinel-dashboard-1.8.6

    结合软件包的名称和可能的功能,我们可以认为“sentinel-dashboard-1.8.6”是一个带有数据监控和分析功能的仪表盘应用或服务。它可能提供实时数据展示、系统运行状况监控、告警通知等功能,帮助用户或管理员对系统的...

    rocketmq-dashboard-2.0.1-SNAPSHOT.jar

    官网更新版本啦,rocketmq-dashboard-2.0.1-SNAPSHOT.jar,全新版本,免费下载。 rocketmq-dashboard是一个用于监控和管理 Apache RocketMQ 的可视化 Web 界面工具 ①可以直观展示 RocketMQ 集群的整体状态,比如...

    sentinel-dashboard-1.7.2.jar.zip

    在这个压缩包 "sentinel-dashboard-1.7.2.jar.zip" 中,包含的主要文件是 "sentinel-dashboard-1.7.2.jar",这是一个 Java 可执行文件,可以直接运行来启动 Sentinel 控制台。 在使用 Sentinel Dashboard 之前,...

    kubernetes-dashboard-amd64-v1.10.0镜像

    kubernetes-dashboard-amd64-v1.10.0镜像,docker load -i kubernetes-dashboard-amd64-v1.10.0.tgz

    最新版 sentinel-dashboard-1.8.0.jar

    最新版 sentinel-dashboard-1.8.0.jar

    sentinel-dashboard-1.6.jar

    阿里巴巴 alibaba 限流降级 sentinel-dashboard-1.6.jar java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.6.0.jar

    Material-Dashboard-Pro-react

    "Material-Dashboard-Pro-react"是一款基于React开发的高级管理界面模板,它提供了丰富的UI组件和设计,用于构建高效且美观的后端应用。这个项目旨在为开发者提供一个快速开发后台系统的起点,它集成了现代前端技术...

    sentinel-dashboard-1.8.5.jar

    sentinel-dashboard-1.8.5.jar

    sentinel-dashboard-1.7.0.jar包的下载

    sentinel-dashboard-1.7.0.jar 环境:JDK 运行:(-Dserver.port=8080指定端口) 1. java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-...

    sentinel-dashboard-1.8.0.jar免费下载

    "sentinel-dashboard-1.8.0.jar" 文件的运行方式通常是通过 Java 运行环境执行 `java -jar sentinel-dashboard-1.8.0.jar` 命令,然后在浏览器中输入指定地址访问界面。而 "CSDN_我上传资源求过审.txt" 文件可能是...

    最新版 sentinel-dashboard-1.8.4.jar

    最新版 sentinel-dashboard-1.8.4.jar

    node-exporter-for-prometheus-dashboard-cn-v20201010_rev24.json

    node-exporter-for-prometheus-dashboard-cn-v20201010_rev24.json

Global site tag (gtag.js) - Google Analytics