使用django-rest-framework保存models数据的时候上传多张图片
使用drf的时候, 保存图片, 可以使用models.ImageField, 然后使用表单提交. 但是有的时候一个model对应多张图片. 比方说创建一个作品, 这个作品有7页图片需要保存.
那首先应该建立两张表, 一张works作品表, 一张works_file作品文件表.并在works_file中设置外键关联到作品表. 并且works_file中要有字段保存页码信息,防止混乱.
class Works(models.Model):
id = models.AutoField(primary_key=True)
user = models.ForeignKey(User, on_delete=models.DO_NOTHING, db_constraint=Fa...
在jekyll中转义字符{% %} {{}}
由于jekyll模板跟django模板中的继承符号和引用变量的符号冲突,导致直接写jekyll编译报错.
网上有两种方案, 一种是在代码前后加
但是这种方案, 自己尝试不奏效.
所以采用了第二种方案 ( 使用过转义, 不需要任何插件
最终代码
thehive/test.html
显示效果:
postgresql使用docker搭建与备份
postgresql使用docker搭建
使用docker拉取镜像
docker pull postgres
启动容器
docker run --name postgresql -e POSTGRES_PASSWORD=mypassword -e POSTGRES_USER=myuser -p 5432:5432 -v /data/db_pg:/var/lib/postgresql/data -d postgres
查看容器
docker ps -a
若服务未启动
docker start postgresql
进入容器
docker exec -it postgresql bash
登录postgresql
psql -U root
修改密码...
xadmin如何自定义字段在页面上的显示效果. 比如使用自己特定的js控件
Q: 如何自定义字段在页面上的显示效果. 比如使用自己特定的js控件
A:
可以自定义widgets
自定义form将widgets设置到form的对应的field上
在OptionClass里设置form
将OptionClass设置到xadmin上
举例:
在页面上显示tags字段时候想使用select2.js这个模板来实现这样的效果. 也就是多选的select框, 选中的放在上面作为标签, 可以叉掉.
models.py
首先models.py里面tags字段使用了postgres才有的ArrayField来存储多个选项
from django.contrib.postgres.fields import ArrayField
from dj...
xadmin如何禁止model的新增 删除 修改功能
Q: 如何禁止model的新增 删除 修改功能
A:
在OptionClass里定义属性remove_permissions
class MonitorResultAdmin:
remove_permissions = ('add', 'change', 'delete')
###
xadmin如何在列表页自定义列从接口批量查询(列表页上所有的一列数据走一个批量接口)
Q: 如何在列表页自定义列从接口批量查询(列表页上所有的一列数据走一个批量接口)
A:
如果自定义列, 每一行记录都去查一个接口, 可以直接在models里或者在OptionClass里定义方法, 然后加到list_display属性当中即可.
现在想列表页所有的数据库记录走一个批量接口. 然后判断每一行记录的状态. 也就是一次request请求, 去请求一次接口. 如果在models里或者OptionClass里加方法的话. 或者写在__init__方法里, 实际上每一行数据库记录都会执行一遍. 这样会发生多次请求.
这里的实现方式是使用xadmin提供的插件. 继承BaseAdminPlugin实现其filter_hook的get方法, get方法只在请求的过程中执行一次....
xadmin如何在一个model的新增或编辑页面里面内嵌另一个model的编辑页面
Q: 如何在一个model的新增或编辑页面里面内嵌另一个model的编辑页面
A:
定义一个Inline类
在model的OptionClass里面讲Inline类注入到inlines属性里面
举例:
在IOC这个model里面内嵌了两个一对多的model. IOC和FileAttachment
xadmin.py
from .models import Case, Ioc, FileAttachment
class IocInline:
model = Ioc
extra = 0
class FileAttachmentInline:
model = FileAttachment
extra = 0
class CaseFo...
xadmin如何在xadmin自定义菜单, 自定义页面
Q: 如何在xadmin自定义菜单, 自定义页面
A:
在xadmin.py,GlobalSettings中自定义菜单
自定义视图函数,并获取原来的菜单等信息(主要是为了用xadmin的模板),具体的自己看xadmin源码
在adminx.py中注册路由
html继承。
举例:
xadmin.py:
class GlobalSetting:
site_title = 'XX后台管理'
site_footer = 'XX公司'
# menu_style = 'accordion' # 设置app折叠
def get_site_menu(self):
return (
{'title':...
共计 84 篇文章,11 页。