0

Django@Python 3常见问题

Posted by Alan on September 23, 2017 in Coding |

环境搭建及常见配置 详情可参见Django环境搭建及开发 虽然很多领域如机器学习的开发者当前更青睐于Python 2,但Python 3已经被越来越多的开发者们所使用,本文旨在整理Python 3环境下安装最新Django版本所出现的问题,其中有很多内容和Python 2下相似或相同。 1.用户表重写 在继承AbstractUser表重写该类时会提示Reverse accessor for ‘User.*’ clashes with reverse accessor for ‘*.*’ 解决这一问题只需要按照你定义的app名称和类名在settings.py中添加如下内容:

Tags: ,

0

Django RESTful API搭建及常见问题

Posted by Alan on April 6, 2017 in Coding |

Django中内置的有一些Json数据的处理和返回方案 虽然看似以上方案也可以打造我们的API,但更为灵活的Rest API方案还是应该要采用Django REST framework 安装 除djangorestframework, markdown, django-filter外,建议同时安装coreapi,django-guardian, 环境搭建参照Django环境搭建及开发 Serializer 使用步骤一、在对应App下新建serializers.py 使用步骤二、Views.py 分页 ViewSet 用法一 过滤、搜索、排序 跨域访问 API通常都是由不同域名来进行调用,此将会出现如下报错 Failed to load resource: the server responded with a status of 504 (Gateway Timeout) Django的解决方案如下 权限认证 Token配置 请求时的header为Authorization: Token 虽然Django REST Framework(DRF)的Token非常强大,但存在着无有效期、一旦泄露则面临风险,因此有人根据JWT规范开发一个REST framework JWT的认证方式,安装配置也很简单 请求时的header为Authorization: JWT 权限控制 AllowAny IsAuthenticated IsAdminUser IsAuthenticatedOrReadOnly DjangoModelPermissions DjangoModelPermissionsOrAnonReadOnly DjangoObjectPermissions API暴露太多权限(POST, PUT)时需谨慎 […]

Tags: , ,

0

Django使用七牛云保存图片

Posted by Alan on March 28, 2017 in Coding |

最近在使用Django写项目,考虑将图片放到七牛云上,使用xadmin进行后台管理。我们都知道在models中使用ImageField可以直接生成数据表,其中的upload_to直接设置上传路径,这样在django的admin或xadmin中可以直接完成上传,但这种上传只能上传到本地,于是在网上搜到了下文,非常简单有效:

Tags: ,

0

Django未登录跳转登录页面设置

Posted by Alan on March 13, 2017 in Coding |

在Django的实际应用中,我们通常会限制某些页面在登录后方可访问(如个人中心页面),否则就跳转到登录页面先进行登录。 在网上搜索到的直接使用装饰器@login_required放在view上方的做法当前版本(1.9.*以上)并不可用,会报以下错误: 那么该如何实现呢?以index页面为例,实现方法有以下几种: 1.url+view文件 2.仅url文件 3.LoginRequiredMixin 注:默认登录页面为/accounts/login/,如需更改,请在settings.py文件中进行相应的更改,如

Tags: ,

0

Django及Xadmin开发代码速查

Posted by Alan on February 21, 2017 in Coding |

本文接Django环境搭建及开发一文,旨在记录一些常用的开发代码避免经常要到官方文档中查看(为方便操作大多在PyCharm[ Tools> Run manage.py Task…]中进行,涉及命令行的可以自行在前面添加python manage.py)。 注:如果在菜单中找不到Run manage.py Task的话,请点击Preferences>Languages & Frameworks>Django在右侧Settings处配置本项目的setting.py文件位置 另外以下内容涉及中文的如使用Python 2.x请自定添加u来指定为utf-8编码 基本操作篇 1.创建App 2.在系统settings.py的INSTALLED_APPS中添加对应的app_name 3.编辑所创建App下的models.py(数据表的创建) createsuperuser创建后台登录的超级用户 4.添加url(urls.py) 5. forms和views常用 views.py forms.py Settings.py的常见修改 用户信息表 用户信息表略有特殊之处: models.py

 

Tags: ,

0

CentOS 7下通过uWSGI + Nginx部署Django

Posted by Alan on January 11, 2017 in Coding |

安装Python 3 安装Nginx 在浏览器中访问http://server_domain_name_or_IP/如果出现如下页面表明Nginx安装正常 Nginx主配置文件:/etc/nginx/nginx.conf,可以看网站默认根目录在/usr/share/nginx/html,可通过在/etc/nginx/conf.d下添加.conf文件进行配置 安装MySQL 安装virtualenvwrapper 编辑家目录下的.bashrc文件设置如下环境变量 测试uwsgi是否安装正常 方法一: 创建test.py文件,添加如下代码 浏览器访问http://your-ip:8001输出Hello World表示安装正常 方法二: 浏览器访问http://your-ip:8000输出It worked页面表示安装正常 以上方法如无法访问,可能需要关闭防火墙:systemctl stop firewalld 如果从本地打包上传,在testProject/settings.py 执行 python manage.py collectstatic 在testProject主目录下创建uc_nginx.conf然后创建软链接 sudo ln -s 你的目录/testProject/uc_nginx.conf /etc/nginx/conf.d/ 或者直接在/etc/nginx/conf.d/下创建uc_nginx.conf: 重启Nginx 注:使用systemctl restart nginx.service有可能会出现权限问题 些时使用pkill -f nginx,执行如下命令启动nginx sudo /usr/sbin/nginx 在根目录下/root/testProject添加conf/uwsgi.ini 启动 uwsgi -i /root/testProject/conf/uwsgi.ini & Django的配置 系统就会创建一些django默认表格,同样地可以测试启动站点 uwsgi 常见问题 1.Exception: you need a C […]

Tags: , ,

0

Django环境搭建及开发

Posted by Alan on December 24, 2016 in Coding |

开发工具:PyCharm   环境配置 注: 手动源码安装xadmin时需额外安装依赖包 使用多Python版本需要指定版本:   注:使用Anaconda搭建虚拟环境 常用命令 小技巧: 执行python manage.py sqlmigrate 应用名(如mesage) 0001(migrations文件夹下的序号)可以查看原生的SQL的语句 执行migrate指令后默认生成的表格: xadmin操作 adminx.py配置 注:在后台如需导出excel格式文件需安装xlwt(pip install xlwt),如需导出xlsx格式的则请安装xlsxwriter 将后台中主菜单的英文修改为中文,以app名users为例 xadmin中的延伸配置 Model及数据库操作 models.py部分内容示例 AutoField, BigAutoField, BigIntegerField, BinaryField, BooleanField, CharField, CommaSeparatedIntegerField, DateField, DateTimeField, DecimalField, DurationField, EmailField, FileField, FileField and FieldFile, FilePathField, FloatField, ImageField, IntegerField, GenericIPAddressField, NullBooleanField, PositiveIntegerField, PositiveSmallIntegerField, SlugField, SmallIntegerField, TextField, TimeField, URLField, UUIDField, […]

Tags: , , ,

Copyright © 2012-2018 记录点滴生活 | Alan Hou的个人博客 All rights reserved.