![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Django
AIRBOYONE
ACM
展开
-
TabularInline内联函数使用save_formset多对多属性无法保存?
问题 在内联函数里面,有 ManyToManyField 多对多属性,但是 save_formset 逐个去保存内联函数表时,发现多对多属性并没有保存。 这是因为使用了 formset.save(commit=False),这时候与当前数据表无关的表是不会自动保存的,需要加上 formset.save_m2m() 继承虽好,但是也得知道如何去继承!上才艺!# models.pyclass KeepRecord(models.Model): """ 保养记录 """原创 2020-08-04 23:10:16 · 543 阅读 · 0 评论 -
Django admin对内联模型继承save_model
传统的save_model是写在ModelAdmin里面的:@admin.register(BaoGao)class BaoGaoAdmin(admin.ModelAdmin): list_display = ( 'name', 'baoxiu_date', 'paigong_date', 'update_date', 'show', 'price', 'image_data', 'author', 'cengji', 'state')原创 2020-06-25 18:42:18 · 1613 阅读 · 0 评论 -
Django后台使用super继承get_queryset,对获取的结果进行过滤
实现的效果就是:进入admin后台的每个用户,只能看到自己的数据,超级用户可以看到所有数据。程序通过识别request里面user登录账号,用户get与自己相关的数据。# admin.py@admin.register(KeepRecord)class KeepRecordAdmin(admin.ModelAdmin): list_display = ('name', 'show', 'author', 'update_date',) def get_queryset(self, r原创 2020-06-22 21:50:34 · 1022 阅读 · 0 评论 -
Django后台admin列表ImageField显示图片
如果不进行设置,ImageField在列表中只能显示存储的路径。记得配置settings.py中图片存储的位置!# models.pyclass KeepRecord(models.Model): """ 保养记录 """ name = models.CharField(max_length=255, verbose_name='设备名称') image = models.ImageField(upload_to='images/', verbose_name=原创 2020-06-22 20:57:00 · 3494 阅读 · 0 评论 -
Django models字段设置为空
一般情况下直接添加 blank=True :image = models.ImageField(upload_to='images/', verbose_name='现场拍照', blank=True)但是DateTimeField、IntegerField这种类型就要添加 blank=True, null=True :sorce_count = models.IntegerField(verbose_name='合计', blank=True, null=True)...原创 2020-06-22 20:29:19 · 4806 阅读 · 0 评论 -
Django admin配置Mysql
Django admin很方便开发环境:Python3.7+Django2.2+Xampp(mysql)1.创建Django项目 项目名:Django_Example2.修改setting.py文件路径:Django_Example/setting.py将子项目的名字添加进去,“app”或者你创建的与app同级的子项目目录名3.运行项目可以在cmd下找到...原创 2019-12-03 10:42:28 · 341 阅读 · 0 评论 -
Django slug自增长方法
前两天做项目用到了slug,每次添加国家标签的时候,都要用不重复的数字或者字母,感觉特别麻烦。其实无论是数字还是字母,只要是不重复就好。网上有的说是中文翻译成英文、数字用随机函数生成等待(个人感觉不太好使。。)不知道你们是否留意:当用Django存数据库的时候,id是不会重复的!!直接将id和slug绑死就好了解决方案:先存将数据存入数据库,产生id后,在提取id更新sl...原创 2019-12-25 09:50:11 · 291 阅读 · 3 评论 -
Django 自带分页器实现数字跳转
自带分页器是无法数字跳转,但是可以写成js跳转。#views.pyclass IndexView(generic.ListView): model = Article template_name = 'blog/index.html' context_object_name = 'articles' paginate_by = getattr(setti...原创 2020-02-08 12:20:52 · 416 阅读 · 0 评论 -
Django 全文检索haystack实现重载context内容
第一次翻官方文档,确实比看别人写的博客管用多了,看博客说重载extra_context(),然后写了继承调用不出来,博客里面说什么降低haystack版本就可以继承出来,我都觉得这不是开玩笑吗,个人认为高版本代码跑起来总比低版本代码效率高吧,所以不要去降什么库不至于朋友们,还是要尝试下翻官方文档。https://django-haystack.readthedocs.io/en/master/...原创 2020-02-11 11:55:18 · 505 阅读 · 1 评论 -
Django配置404页面
修改环境DEBUG = FalseALLOWED_OSTS = ["*"]url配置from blog.views import page_not_foundurlpatterns = [..]handler404 = page_not_foundviews配置from django.shortcuts import renderdef page_not_found(req...原创 2020-03-28 11:30:31 · 270 阅读 · 0 评论 -
Django 实现多文件批量上传
首先我并没有找到所谓得“批量上传”接口,倒不如自己写个for循环处理下。用from上传时要验证表单数据是否合法,然后定位上传路径循环上传即可。# froms.pyfrom django import formsclass FileFieldForm(forms.Form): file_field = forms.FileField(label='选择多个文件',help_tex...原创 2020-02-13 19:50:49 · 4530 阅读 · 0 评论 -
Django 重写authenticate实现输入账号、邮箱、手机号登录验证
介绍authenticate原本是账号和密码登录,在密码对给出的用户名合法的情况下返回一个 User 对象。 如果密码不合法,authenticate()返回None。重写该方法后,实现输入账号、邮箱、手机号等多种方式登录验证。需要注意的是在重写authenticate时,要加入request:def authenticate(self, request, username=None, pa...原创 2020-04-24 10:20:48 · 2026 阅读 · 2 评论