Django之前端插件定制之表头

什么是插件?

  插件只是辅助,是开发过程中的一个阶段。一般项目一期会用各种插件,迅速将功能、界面搭出来,二期时就改成自己的代码了。大点的公司都有自己的js库,自己开发类似jquery的库。

  那接下来就写一下关于前端表头的插件

urls.py
from django.contrib import admin
from django.urls import path
from app01 import views
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns = [
    path(‘admin/‘, admin.site.urls),
    #以前用FBV写,现在用CBV写
    path(‘server.html‘, views.ServerView.as_view()),
    path(‘server-json.html‘, views.ServerJsonView.as_view()),
]
urlpatterns += staticfiles_urlpatterns()
models.py
from django.db import models

class UserInfo(models.Model):
    name=models.CharField(max_length=64)
    age=models.IntegerField()

class BusinessUnit(models.Model):
    name=models.CharField(max_length=64)

class Server(models.Model):
    server_type_choices=(
        (1,‘Web‘),
        (2,‘存储‘),
        (3,‘缓存‘)
    )
    server_type=models.IntegerField(choices=server_type_choices)
    hostname=models.CharField(max_length=64)
    port=models.IntegerField()
    business_unit=models.ForeignKey(to="BusinessUnit",to_field="id",on_delete=models.CASCADE)
    user=models.ForeignKey(to=‘UserInfo‘,to_field="id",on_delete=models.CASCADE)
views.py
from django.shortcuts import render,HttpResponse
from django.views import View
import json

class BaseResponse(object):   #  封装数据

    def __init__(self):
        self.status=True
        self.data= None
        self.message=None

class ServerView(View):                   #  这个插件的增删改查全部是利用Ajax去做的

    def get(self,request,*args,**kwargs):

        return render(request,‘server.html‘)

class ServerJsonView(View):               #  前端利用Ajax把前端的数据发送到这里进行处理和发送

    def get(self,request,*args,**kwargs):
        response=BaseResponse()
        try:
            # 获取现实的列
            # 获取数据
            table_config=[
                {
                    ‘title‘:‘主机名‘,
                    ‘display‘:1,
                },
                {
                    ‘title‘:‘端口‘,
                    ‘display‘:1,
                },
            ]
            response.data={        # 配置文件
                ‘table_config‘:table_config,    # 那么这个列表就传输到前端页面了
            }
        except Exception as e:
            response.status=False        #  如果出错
            response.message=str(e)
        return HttpResponse(json.dumps(response.__dict__))  #把数据发送到前端的用户
server.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/static/js/jquery-1.12.4.js"></script>
</head>
<body>
    <table border="1">
        <thead id="thead"></thead>
        <tbody id="tbody"></tbody>
    </table>

    <script>
        $(function () {
            init();
        });

        function init() {
            //获取现实的列
            //获取数据
            $.ajax({
                url:‘server-json.html‘,
                type:‘GET‘,
                dataType:‘JSON‘,
                success:function (arg) {
                    if(arg.status){
                        //创建表格标题
                        createTablehead(arg.data.table_config);         // 后台的response.data里的table_config
                    }else{
                        alert(arg.message)
                    }

                }
            })
        }

        var tr=document.createElement(‘tr‘);   // 创建个tr标签
        function createTablehead(config) {         //config=response.data.table_config
            $.each(config,function (k,v) {          //  $.each 为循环 对config循环 v代指字典
                if(v.display){                      // 若v.display == True 那么创建一个th
                    var th=document.createElement(‘th‘);   // 创建th标签
                    th.innerHTML=v.title;           // 把后台的table_config里的title放入到th标签内
                    $(tr).append(th);              // 把th标签添加到tr标签里
                }
            })

            $(‘#thead‘).append(tr);               // 把tr标签添加到thead标签里
        }

    </script>
</body>
</html>

那么,现在看一下前端界面的显示结果吧!

那么,关于前端插件定制之表头就已经完成了!

原文地址:https://www.cnblogs.com/zhuifeng-mayi/p/9184438.html

时间: 2024-11-10 07:10:30

Django之前端插件定制之表头的相关文章

前端插件定制--表头和表内容

在前端构造表格的时候往往遇到的情况时写很多的tr和td标签,而且如果需要对数据库进行连接的话就涉及很多的表操作,很容易弄混而且出错,那么应该如何去避免类似情况的发生? 首先我们同样使用之前介绍的Django建立三个数据库,分别为UserInfo,Business和Server.如下代码所示: from django.db import models # Create your models here. class UserInfo(models.Model): name = models.Cha

前端插件@user

分享一个 @user 前端插件 开源地址:https://github.com/yuezhongxin/Mention.js 插件效果:类似于微博或 github 中 @user 列表效果. 这是个二次开发的插件,花了几天时间,对 Mention.js(作者 jakiestfu) 进行了一些改进,主要是下面几个方面: 增加 search 自定义:可以根据输入的 @user-key,进行后台动态查询. 增加 textarea 跟踪焦点:效果是用户列表跟踪在 textarea 输入焦点,而不是在 t

前端插件库【原】 2016-08-21

自己整理的一些质量还可以的前端插件,各种分类的都有,工作中需要用到插件时可以在下面的列表中查找. 1.幻灯片 Camera    a free jQuery slideshow by Pixedelic http://www.pixedelic.com/plugins/camera/ FlexSlider2    An awesome, fully responsive jQuery slider toolkit http://flexslider.woothemes.com/ Flickity

html前端插件 ZenCoding 更名为Emmet

eclipse下的使用方法   http://www.educity.cn/develop/651853.html visualstudio下的使用方式 http://www.johnpapa.net/zen-coding-in-visual-studio-2012/ html前端插件 ZenCoding 更名为Emmet

基于Django快速开发可定制的办公系统实战(1):Git的使用

基于Django快速开发可定制的办公系统实战(1):Git的使用 ?为什么在项目的开篇要介绍下git的使用呢?俗话说:"工欲善其事,必先利其器",git工具就是项目开发的必备利器,尤其是在多人协作开发环境中.使用git工具可实现分布式的版本控制,可在服务端和本地创建一个版本库. ?脑图是本文的"脊椎",了解个大概后,再通读本文,再加上实际的操作,效果会更好,那我们就开始吧! 1 Git工具安装 Windows版本安装: 安装包下载地址:https://gitforw

测试开发之Django——No4.Django中前端框架的配置与添加

我们在开发一个web项目的时候,虽然我们不是专业开发,但是我们也想要做出来一个美美的前端页面. 这种时候,百度上铺天盖地的前端框架就是我们的最好选择了. 当然,在网上直接下载的框架,我们是不能直接用的,所以本篇介绍一下我们怎么样来修改这个模板 首先,我们先下载一个免费的模板. 我们可以看到他的目录结构,用浏览器打开index.html文件之后可以看到模板的样式. 这样我们就可以想要哪个地方,复制哪个地方,到我们的代码里面了.给我们节省了很多编写前端的时间. 那么我们来看一下这个模板我们要怎么去做

django 实现前端 进度条

django 实现前端 进度条 后端 安装模块 channels==2.1.5 channels-redis==2.3.1 anyjson==0.3.3 asgi-redis==1.4.3 asgiref==2.3.0 asn1crypto==0.24.0 async-timeout==2.0.1 Twisted==18.9.0 启动一个redis 新建django程序 quan 目录结构 quan quan asgi.py consumers.py routing.py settings.py

VScode前端插件推荐

工欲善其事,必先利其器,安利一波前端插件. Chinese (Simplified) Language Pack for Visual Studio CodeVScode汉化插件 Beautify代码自动美化插件 Bracket Pair Colorizer括号有颜色容易区分的插件 vscode-icons文件图标插件 open in browser打开浏览器插件 Prettier代码格式化插件 Quokka是一个调试工具插件,能够根据你正在编写的代码提供实时反馈,方便demo操作 Path I

django之分页插件

1 from django.utils.safestring import mark_safe 2 3 4 class Page: 5 def __init__(self, current_page, data_count, per_page_count=2, pager_num=7): 6 self.current_page = current_page 7 self.data_count = data_count 8 self.per_page_count = per_page_count