关于Xadmin如何修改编辑页

本文介绍如何参照Xadmin的list页面添加按钮的方法,来修改编辑页。通过在模板嵌入js文件,添加js代码,调整页面布局,并在项目的urls.py中添加路由,实现编辑页的个性化定制。

一、前言

本文参考xadmin list页面添加按钮方式, 使用同样的思路进行修改.
具体链接忘记了

二、直接上代码

目录结构

Project 目录 (Django-Xadmin学习项目)
|
|-- app
| -- practise
|-- static
| --xadmin
| ----js
| -----xadmin.form.xxx.js

首先在模板嵌入js文件

adminx.py

class AA:
	list_display = ('操作',)
    def get_media(self):
	"""继承js并且添加我们的js文件"""
	    media = super(AA, self).get_media() + self.vendor('xadmin.page.form.js')
	    media += self.vendor('xadmin.form.xxx.js', 'xadmin.form.css')
	    return media
	def save_models(self):
		"""这边可以修改保存方法"""
		pass
		
	def get_form_layout(self):
	"""修改编辑页页面布局"""
		pass
		
	def 操作(self):
	"""编辑页定义按钮"""
	    button = "<a>获取经纬度<a>"
        r = mark_safe(button)
        return r

其次添加js代码

xadmin.form.xxx.js

$("#div_id_specific_place").after("<input id='get_location' type='button' class=\"default btn btn-primary hide-xs\" style=\"margin-top: 15px\" value='XXXXXX'>") 
// 根据自己需要找到想添加位置的id
function getCookie(name) {
    let r = document.cookie.match("\\b" + name + "=([^;]*)\\b");
    return r ? r[1] : undefined;
}
$("#get_location").click(function () {
    let address =  $('input[name=specific_place]').val()
    $.ajax({
        url: 'xxxxxxxxx' + address, // 根据自己需要进行填写地址
        type: 'get',
        contentType: "application/json;charset=utf-8",
        dataType: 'json',
        headers: {
            "X-CSRFToken": getCookie("csrftoken")
        },
        success: function (data) {
            let map_location = data.message
            $('input[name=lng]').val(map_location.lng)
            $('input[name=lat]').val(map_location.lat)
        },
        error: function (msg) {
            alert("请求失败")
        }
    })
})

在js这边我们可以修改的很多很多, 只要对前端有所了解,想改什么样子就该什么样子.

页面展示效果

在这里插入图片描述

最后添加路由

在项目目录下, urls.py, 根据自己需要进行修改.

参考过的博客

如何修改编辑页面布局

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值