私有云项目
客户有(北京王府井集团,国家电网,神州数码)
相关代码
前端页部分代码
后端部分代码
from django.contrib.auth.decorators import login_required
from django.shortcuts import render_to_response
from django.forms.models import model_to_dict, save_instance
from django.http import HttpResponse
from db.models import *
from db.apis import *
from db.joblistener import send_welcome_email_to_internal, send_welcome_email
from sysadmin.views import *
from sysadmin.forms import *
from django.template.context import RequestContext
from django.utils.translation import ugettext as _
from sysadmin.templatetags.tags import *
from nexus.util import encrypt_password
@login_required
@permit_require('cloudserver_r')
@db_cached_view
@active_navs('cloud_server', 'cloud_server')
def index(request):
customer_list = User.objects.order_by('customer_name')
physical_server = PhysicalServer.objects.filter(
hyperviser__in=["kvm"]).order_by('host_name')
image_list = Image.objects.filter(status="Ready").order_by('name')
data_center = DataCenter.objects.order_by('name')
cluster_list = Cluster.objects.order_by('name')
data = {
'customer_list': customer_list,
'physical_server': physical_server,
'image_list': image_list,
'data_center_list': data_center,
'cluster_list': cluster_list,
'cpu_modes': CPU_MODES,
}
return render(request, 'sysadmin/cloud_server/cloud_server_list.html', data)
@login_required
@permit_require('cloudserver_r')
@db_cached_view
def cloudservers_json(request):
def query_fields(key_word):
query = (Q(name__contains=key_word) |
Q(host_name__contains=key_word) |
Q(image__name__contains=key_word) |
Q(physical_server__host_name__contains=key_word) |
Q(user__customer_name__contains=key_word) |
Q(status__contains=key_word))
return query
def order_callback(qobj, column):
sortable = {0: "name",
1: "host_name",
2: "user__customer_name",
5: "status",
6: "image__name",
11: "created_at"
}
order = sortable[0]
if column in sortable:
order = sortable[column]
return qobj.order_by(order)
data = generate_query_data(VirtualServer, request,
create_and_search_callback(query_fields),
order_callback, generate_vserver_list)
return response_200(json.dumps(data))
def generate_vserver_list(vservers):
ret = []
for vserver in vservers:
if vserver.bandwidth >= 0:
bandwidth_str = vserver.bandwidth
else:
bandwidth_str = " "
if vserver.physical_server:
pserver_str = "<a href=\"/admin/server/show/%s\">%s</a>" % (
vserver.physical_server.id, vserver.physical_server.host_name)
else:
pserver_str = ""
user_content = ""
if vserver.user:
user_content = "<a href=\"/admin/customer/show/%s\">%s</a>" % (
vserver.user.id, vserver.user.customer_name)
ret.append([
"<a data-id=\"%s\" href=\"/admin/cloudserver/show/%s\">%s</a>" % (
vserver.id, vserver.id, vserver.name),
vserver.host_name,
user_content,
vserver.ip_address_str(),
pserver_str,
"<div style=\"color: %s\">%s</div>" % (
vstatus_color(vserver.status), _(vserver.status)),
vserver.image.name,
vserver.cpu,
vserver.memory,
vserver.disk,
bandwidth_str,
format_time(vserver.created_at)
])
return ret
@login_required
@permit_require('cloudserver_w')
@log_action(action="Create Cloud Server", method="POST")
def create(request):
form = VirtualServerForm(request.POST)
form.fields['network_type_name'].choices = get_network_type_names()
if form.is_valid():
vserver = create_virtual_server_from_form(request, form)
id = vserver.id
return render_json({'url': reverse('cloudserver_show', kwargs={'id': id})})
return render_form_error(form)
公有云项目
(公司主营,公有云管理平台,让客户对所有云计算资源以及存储进行一键化操作)
相关代码
前端页面部分代码
后端部分代码
官网接口文档编写与测试
对象存储(object_storage)相关技术
客户(当当网、民族证券)
对象存储(object_storage)
Python相关代码