Django
@凌晨三点半
人生没有重来,过好当下的生活
展开
-
Django初始化中碰到的几个问题记录下
1. 1146,Table ‘xxxx.django_session’ doesn’t exist"在setting.py中添加SESSION_ENGINE = 'django.contrib.sessions.backends.cache'2.type object ‘Token’ has no attribute 'objects这个在前后端分离中,重写userModel的save函数在中存储Token的时候会碰到。解决办法:# 添加 'rest_framework.authtoken'原创 2020-09-16 13:51:54 · 700 阅读 · 0 评论 -
django添加路由时报错register函数没有base_name参数
报错内容:register() got an unexpected keyword argument ‘base_name’django_rest_framwork在3.11版本之后就不再使用base_name参数了。改用basename即可router.register(r'xxx', xxxxViewset, basename='xxx')原创 2020-05-19 00:51:58 · 2352 阅读 · 0 评论 -
django_rest_framework自定义序列化处理数据为null的情况
如下图如果每个null都让前端处理,数据量大的话,会很浪费前端资源的。所以建议在后端处理掉。只需要在对应的serializer类中添加如下函数class xxxTableSerializer(serializers.ModelSerializer): class Meta: model = xxx exclude = ('id',)# 这里 def to_representation(self, instance): data =原创 2020-05-19 00:31:42 · 1092 阅读 · 0 评论 -
django 返回序列化数据日期类型格式自定义
采用的是django_rest_framework框架。序列化则是通过serializer类来实现。所以在serializer中完成class xxxTableSerializer(serializers.ModelSerializer): buy_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M:%S', read_only=True) sell_time = serializers.DateTimeField(format='%Y原创 2020-05-19 00:15:47 · 1700 阅读 · 0 评论 -
nginx接受请求报错failed(13:Permission denied)
nginx配置中使用的用户权限无法调用其他应用的问题。# 这句user nobody;worker_processes 1;error_log logs/error.log;error_log logs/error.log notice;error_log logs/error.log info;pid logs/nginx.pid;改成root...原创 2020-04-20 13:51:21 · 1843 阅读 · 0 评论 -
无法启动uwsgi,显示No such file or directory [core/utils.c line 3654]
通过uwsgi --ini uwsgi.ini之后。再执行ps -ef | grep uwsgi时报错:realpath() of uwsgi.ps failed: No such file or directory [core/utils.c line 3654]原因当前目录下有一个uwsgi.pid。因为执行了uwsgi的初始化操作之后。pid号是变更的。但是这个uwsgi.pid中存...原创 2020-04-17 11:29:16 · 10782 阅读 · 3 评论 -
Django自定义用户表时Admin后台密码密文的解决办法
一般系统默认的User表的字段是没法满足我们的使用的。所以通常我们都会通过继承AbstractUser类来进行扩展通过扩展之后的类在admin后台会导致密码字段明文显示。这时候可以这么处理:1.在admin.py中针对用户的userAdmin继承自系统原生的UserAdmin类from django.contrib.auth.admin import UserAdmin2.自定义adm...原创 2020-02-21 15:01:53 · 2501 阅读 · 0 评论 -
rest_framework,发起retrieve请求时参数带小数点报404错误
撸代码时,需要获取某只股票的详细数据时报404错误lookup_fields属性也没有写错。然后我试着换个字段,采用不带小数点的。就能正常获取到数据那问题就出在小数点上。通过断点发现数据并没有到达retrieve()函数。那问题应该是出在路由层上面。然后详细看这个404的报错内容发现以下两个相关路由这两个路由都排除了小数点。那如果去掉这个排除项,是否就能正常匹配了?我去试试。找到路由...原创 2020-02-11 11:22:25 · 436 阅读 · 0 评论 -
xadmin中根据当前用户自动填写默认值
重写xadmin的instance_forms函数class ContractStatusAdmin(object): """ 合同状态表 """ list_display = ['contract', 'status', 'user', 'add_time'] search_fields = ['contract', 'status', 'user']...原创 2020-02-08 08:36:15 · 519 阅读 · 0 评论 -
rest_framework中,序列化显示choices字段的value方法
这里说的是前后端完全分离的情况。两种方法:在model中相应的model中显示area = models.CharField(choices=AREA_CHOICES, max_length=2, verbose_name=u'服务片区')def __str__(self): return self.get_area_display()在自定义serializer中设置字段采...原创 2020-02-08 08:31:13 · 1570 阅读 · 2 评论 -
DoesNotExist异常导入路径
DoesNotExit是ObjectDoesNotExist的实现类。 所以要捕获此异常就需要捕获它的基类ObejctDoesNotExistfrom django.core.exceptions import ObjectDoesNotExist原创 2020-01-06 13:35:06 · 1545 阅读 · 0 评论 -
django-rest-framework-jwt token 怎么解码得到用户名
from rest_framework_jwt.utils import jwt_decode_handlerjwt_decode_handler(token)这样就能得到用户名了转自:https://segmentfault.com/q/1010000010762645转载 2020-01-06 13:27:53 · 1123 阅读 · 0 评论 -
Django+xadmin打造在线教育平台笔记1(4-4)
1.新建python虚拟环境(python3.6.5)mkvirtualenv study_site2.安装django2.0.6pip install django==2.0.63.打开PyCharm新建项目(文件--新建项目),选择前面建好的虚拟环境中pyhon.exe所在的路径点击Create完成新建4.然后去下mysql的py驱动.....哟 我好像还没...原创 2018-12-23 23:38:11 · 1435 阅读 · 0 评论 -
Django2.0.6-Xadmin后台源码安装流程
1.下载Xadmin源码。官方源码有一些小Bug 建议下载mtianyan修改后的xadmin版本。下载地址为:https://github.com/mtianyan/xadmin_django2.0.12.将下载的压缩包中的xadmin目录拷贝到Django根目录下3.安装依赖包:django-crispy-formsdjango-formtoolsfuturesi...原创 2019-01-07 23:53:03 · 551 阅读 · 0 评论 -
Django2.0.6 学习笔记-----------------登录界面与后台逻辑
通过导入一下模块即可实现静态页面的展现(根目录前不添加'/':from django.views.generic import TemplateViewpath('', TemplateView.as_view(template_name= "index.html"), name= "index")path('login/', TemplateView.as_view(templat...原创 2019-01-14 00:19:37 · 197 阅读 · 0 评论 -
Django2 xadmin 后台添加用户时 密码不会加密的问题
今天在写客户登录。想新建一个账户做前台登录的测试账号。 使用的是xadmin后台。添加账户后 特么死活都是明文无法加密一早上去百度,去各个群问。都找不到原因 最后去看以前的教程的源码发现。 在user.adminx.py下 多了一条:xadmin.site.register(UserProfile, UserProfileAdmin)然后我给他删掉了。 一切就正常了... 卧了个...原创 2019-01-14 12:51:05 · 2933 阅读 · 2 评论 -
Django2.0+python3.6以上 的{{ MEDIA_URL }}配置
第一步在setting.py中添加:MEDIA_URL = '/media/'MEDIA_ROOT = os.path.join(BASE_DIR, 'media')在setting.py中的TEMPLATES中添加'django.template.context_processors.media'TEMPLATES = [ { 'BACKEND': 'd...原创 2019-01-21 16:12:48 · 954 阅读 · 1 评论 -
Django2.0 忘记超级管理员密码
经常我们在开发的时候会不小心把超级管理员的密码改的忘记掉。我看了网上很多的教程。都没啥用。 也是困扰了我半天。最后发现一个最简单的方法。将Django项目运行起来。随便哪个页面,利用make_password()函数加密 然后将加密的字符串打印到控制台,最后将打印出来的字符串直接写到数据库中。就完事了 from django.contrib.auth.hashers import...原创 2019-01-22 14:30:52 · 1234 阅读 · 0 评论 -
django json 'str' object has no attribute 'read'
只需要将json.load()换成json.loads()就可以了原创 2019-01-22 17:35:31 · 14328 阅读 · 2 评论 -
Django2.0 从前端提交post请求到后端多条件查询并返回json数据
前端在提交按钮附近添加{% csrf_token %}然后在js文件中的ajax如下写: data = { no: NO, name: Name, company: company, product: product, salesman: sales...原创 2019-01-22 17:43:11 · 2409 阅读 · 1 评论 -
咋写JS中碰到的问题汇总(前段渣伤不起啊)
1. 如何清空tbody中的内容:$("#test tbody").html("");2.在js代码中如何换行: 以此类推var abc = "fewfwef" + "fwefwef" + "fwefwefwe";3.数组的长度:var arr = new Array(3)arr[0] = "John"arr[1] = "Andy&q原创 2019-01-28 16:08:35 · 238 阅读 · 0 评论 -
django 实现文件下载功能
第一种方法第一种方法,直接把链接地址指向要下载的静态文件,在页面中点击该链接,可以直接打开该文件,在链接上点击右键,选择“另存为”可以保存该文件到本地硬盘。但是我成功,不知道这media是对应的后台的media还是自定义方法,没报错也没干嘛,就是不行<a href="{% url 'media' 'uploads/11.png' %}">11.png</a> ...转载 2019-04-12 09:27:35 · 1346 阅读 · 0 评论 -
Django2.0.6 user.save()保存的时候 报 is_superuser cannot be null解决办法
今天突然忘记了管理员的密码 一下子等不进去了。所以就通过之前写好的修改密码的页面进行修改。但是代码执行到save()的时候 竟然报is_superuser cannot be null 的错 可是 这不是默认0么?检查数据库确实数据是0 百思不得其解。回想起来我家里写的项目也是碰到这个问题。想来想去 问题应该是出在这货身上:mysql.connector.django目前不知道...原创 2019-04-03 15:38:53 · 782 阅读 · 0 评论 -
Django 模板语言渲染的日期显示问题
使用模板语言渲染页面 在日期方面如果用默认的{{user.hiredate}} (入职时间)默认是显示 XXXX年XX月XX日嗯。。不喜欢 想改成 XXXX-XX-XX然后各种百度之后。用这样的方法就可以了:这样改就可以了 {{ user.hiredate | date: 'Y-m-d'}}如果需要时间的话就这样:{{ user.hiredate | d...原创 2019-04-03 16:32:31 · 2194 阅读 · 3 评论 -
Django 学习笔记使用order_by排序
User.objects.order_by('name')User.objects.order_by('-name')升序/降序排序数据只是做个记录 - -原创 2019-04-10 23:06:01 · 25853 阅读 · 0 评论 -
django模板之forloop
在django的模板中,有forloop这一模板变量,颇似php Smarty中的foreach.customers,Smarty foreach如下:{foreach name=customers from=$custid item=curr_id}{$smarty.foreach.customers.iteration} <-- Tells you which item you...转载 2019-04-09 23:59:53 · 173 阅读 · 0 评论 -
Django 404和500错误页面配置
django404,500错误自定义页面:1.设置settings文件DEBUG = FalseALLOWED_HOSTS = ['127.0.0.1', 'localhost']或者ALLOWED_HOSTS = ['*']2.配置urls文件handler404 = "app.views.page_not_found"#(handler404 = "你的app.views.函数名...转载 2019-04-17 09:06:49 · 551 阅读 · 0 评论 -
django 一次性上传多个文件, 批量上传
在用django 写文件上传的时候,从request.FILES['myfiles'] 获取到的文件始终只有一个, 但在HTML页面上明明用 HTML5 的 文件控件选择了多个文件,用的是CHROME浏览器,一次可以选择多个文件上传。在 Pydev 开启debug模式,查看request 对象,发现上传的多个文件确实在request对象中,但为什么 用request.FILES['myfile...转载 2019-04-17 09:31:32 · 5052 阅读 · 1 评论 -
Pycharm连接MySQL报错:RuntimeError: cryptography is required for sha256_password or caching_sha2_password
报错如下:这问题我是再切换数据库连接驱动的情况下碰到的报错原因:MySQL8.0版本以后采用caching_sha2_password作为默认的身份验证插件。解决方法:1. 登录mysql: mysql>mysql -u root -p Enter password:2. 查询用户密码:mysql> se...转载 2019-04-22 00:16:22 · 2013 阅读 · 0 评论 -
Django forloop的使用
{% for %} 标签在循环中设置了一个特殊的 forloop 模板变量。这个变量能提供一些当前循环进展的信息:forloop.counter 总是一个表示当前循环的执行次数的整数计数器。这个计数器是从1开始的,所以在第一次循环时forloop.counter 将会被设置为1。例子如下:{% for item in todo_list %}<p>{{ forloop.coun...转载 2019-04-15 08:08:12 · 332 阅读 · 0 评论 -
Django 查询时间段
Django 查询时间段大于某个时间gtnow = datetime.datetime.now()start = now – datetime.timedelta(hours=23, minutes=59, seconds=59)a=yourobject.objects .filter(youdatetimcolumn__gt=start)[, , ]大于等于某个时间:gte...转载 2019-04-15 08:11:40 · 466 阅读 · 0 评论 -
Django authenticate函数验证问题
再用Django做CMS(内容关系系统)中需要注册用户登陆系统在models中用户类继承了AbstractUser类class NewUser(AbstractUser): # 用户,继承的是AbstractUser类 profile = models.CharField('profile', default='', max_length=256) def __st...转载 2019-04-15 08:13:55 · 1073 阅读 · 0 评论 -
Django修改用户名密码的方法
1.python manage.py shell2.from django.contrib.auth.models import User3.user=User.objects.get(username='XXX')4.user.set_password('new_password')5.user.save()或者1.python manage.py changepassw...转载 2019-04-15 08:14:34 · 6980 阅读 · 0 评论 -
Django-crontab 在Windows下运行不了的问题
一般来说crontab都是在Linux下使用执行定时任务,Windows下用Django-crontab添加任务的时候会出现错误,截图如下:之后在crontab show里是这样的:事实上也不运行。原因去官方的github上看了文档(链接:https://github.com/kraiz/django-crontab),发现faq里有说明:Will it work...转载 2019-04-15 08:39:12 · 2027 阅读 · 1 评论 -
Django自定义404和500的错误提示页面
项目已经部署到服务器上面了 所以不考虑在开发环境下查看。 想查看的话直接TmeplateView.as_view好了首先要在settings.py中设置DEBUG = False添加TEMPLATE_DEBUG = FalseSTATIC_ROOT = os.path.join(BASE_DIR, 'static')然后去view.py中添加(随便哪个view)...原创 2019-04-26 17:13:28 · 714 阅读 · 0 评论 -
Nginx的启动、停止与重启
启动启动代码格式:nginx安装目录地址 -c nginx配置文件地址例如:[root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf停止nginx的停止有三种方式: 从容停止 1、查看进程号[root@LinuxServer ~...转载 2019-04-26 17:20:10 · 257 阅读 · 0 评论 -
ImportError: No module named 'encodings' 错误 的解决办法
经查,原因是我用的python版本为3.x,用virtualenv创建虚拟目录时,默认版本为2.7。解决方法是生成虚拟目录时指定python的版本。删除原来的virtualenv:rm -rf 虚拟环境目录重新创建指定版本:virtualenv--python=/usr/bin/python3pyweb(虚拟环境名称)转自:https://blog.csdn.net...转载 2019-04-28 11:25:43 · 8222 阅读 · 0 评论 -
django中form的label和verbose name的区别
captcha = CaptchaField(label = u'验证码')captcha = CaptchaField(verbose_name = u'验证码’)label是这个Field如果在form中的话会显示。 verbose_name 在form中不会显示 只是一种说明而已...转载 2019-04-24 08:20:58 · 1193 阅读 · 0 评论 -
django中使用redirect重定向数据传输的问题
环境: python 3.6.4 django2.0.6使用重定向redirect(‘url name’) 如果不需要传数据的话那这样就OK了 如果要传数据的话 我琢磨了半天 还是决定用session来传输所以 就这么干:request.session['key_name] = valuerequest.session['msg'] = u'用户未登录'...原创 2019-04-24 08:39:36 · 8011 阅读 · 4 评论 -
Vue + Django API 前后端分离学习笔记 3.1(前面两章没东西 跳过)
1.建虚拟环境2. 安装 django2.0.6, django rest framework, markdown, django-filter mysqlclient pillow其中 markdown和django-filter 后面会用到 目前还没说 pillow是图片处理的 mysqllient 是pymysql驱动的替代品 如果直接pip安装有问题的话就登录到这个网站手动下...原创 2019-04-28 17:23:31 · 194 阅读 · 0 评论