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方法
分享到:
相关推荐
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.3官网资源"指的是Sentinel的1.8.3版本控制台的资源包,这个资源包中包含的主要组件是(sentinel-dashboard-1.8.3.jar),这是Sentinel Dashboard的可执行jar文件。 Sentinel Dashboard 是 ...
sentinel-dashboard-1.7.1.jar sentinel-dashboard-1.7.1.jar sentinel-dashboard-1.7.1.jar 国内下载快点
sentinel-dashboard-1.8.1
在这个压缩包 "sentinel-dashboard-1.7.2.jar.zip" 中,包含的主要文件是 "sentinel-dashboard-1.7.2.jar",这是一个 Java 可执行文件,可以直接运行来启动 Sentinel 控制台。 在使用 Sentinel Dashboard 之前,...
rocketmq-dashboard-1.0.1-SNAPSHOT.jar
最新版 sentinel-dashboard-1.8.0.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"是一款基于React开发的高级管理界面模板,它提供了丰富的UI组件和设计,用于构建高效且美观的后端应用。这个项目旨在为开发者提供一个快速开发后台系统的起点,它集成了现代前端技术...
sentinel-dashboard-1.8.5.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" 文件的运行方式通常是通过 Java 运行环境执行 `java -jar sentinel-dashboard-1.8.0.jar` 命令,然后在浏览器中输入指定地址访问界面。而 "CSDN_我上传资源求过审.txt" 文件可能是...
kubernetes-dashboard-amd64-v1.10.0镜像,docker load -i kubernetes-dashboard-amd64-v1.10.0.tgz
node-exporter-for-prometheus-dashboard-cn-v20201010_rev24.json
最新版 sentinel-dashboard-1.8.4.jar
官网 https://github.com/apache/rocketmq-dashboard rocketmq-dashboard 2024-09-30 刚打包好
- **启动与部署**:下载 `sentinel-dashboard-1.8.0.jar` 文件后,可以通过 Java 的 `-jar` 命令运行。确保服务器环境已经安装了 Java 运行环境。 - **配置接入**:在应用中引入 Sentinel 相关依赖,并通过配置...
kubernetes-dashboard-amd64-v1.8.3镜像,镜像使用方法: docker load -i kubernetes-dashboard-amd64-v1.8.3.tar.gz