一、前言
本文参考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, 根据自己需要进行修改.
本文介绍如何参照Xadmin的list页面添加按钮的方法,来修改编辑页。通过在模板嵌入js文件,添加js代码,调整页面布局,并在项目的urls.py中添加路由,实现编辑页的个性化定制。
2万+

被折叠的 条评论
为什么被折叠?



