1 项目知识点(pycharm中操作)
startapp appName 在pycharm中python app
makemigrations 初始化模型,migrations目录下会多出0001_initial.py文件
migrate 运行所有app的0001_initial.py文件
migrate appName 运行指定app的0001_initial.py文件
### 备注:(1)运行完migrate后,models.py中的class都转化成数据库中的表,表名为“APP名_class名”,其中class名中的大写字母都转化成小写
(2)django_migrations表中保存的是migrate运行的文件信息
(3)尽量用代码的方式修改数据库,不要界面操作和代码操作混用,容易出错。
# 安装 xadmin(第三方框架)对应的安装包
django-crispy-forms>=1.6.0
django-import-export>=0.5.1
django-reversion>=2.0.0
django-formtools==1.0
future==0.15.2
httplib2==0.9.2
six==1.10.0
xlwy
xlsxwriter
#用户管理相关命令
createsuperuser 创建超级用户
#中文设置
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False
# 获取图片的相关设置
MEDIA_URL = "/media/"
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
2 vue环境搭建
安装webstorm
安装node.js
下载地址:http://nodejs.cn/download/
安装参考资料:http://www.runoob.com/nodejs/nodejs-install-setup.html
安装cnpm
参考资料:npm.taobao.org
npm install -g cnpm --registry=https://registry.npm.taobao.org
3 相关插件的安装
chrome插件 JsonView 的安装:
当我们前端在调后端接口的时候,如果想使抓取过来的json数据更加美观,可以使用谷歌的插件jsonView。
1\. 搜索 jsonView 链接:https://github.com/search?utf8=%E2%9C%93&q=jsonview。
2\. 在搜索结果列表选择自己需要的插件。(推荐这个[gildas-lormeau/JSONView-for-Chrome](https://github.com/gildas-lormeau/JSONView-for-Chrome));
3. 点击【Download Zip】,插件下载完成,解压。
4. 安装,打开chrome -更多工具- 扩展程序 (或者在地址栏输入chrome://extensions/)。
5\. 右上角勾选【开发者模式】,点击左上角【加载已解压的扩展程序...】。
6\. 选择插件目录(******\JSONView-for-Chrome-master\WebContent)。
7\. 安装完成,重新加载页面。(ctrl + R)。
4 django中知识点汇总
(1)model_to_dict的使用
from django.forms.models import model_to_dict
json_dict = model_to_dict(good) #good是一个模型
等价于代码:
json_dict = {}
json_dict["name"]=good.name
json_dict["category"] =good.category.name
json_dict["market_price"]=good.market_price
(2)JsonResponse的使用
JsonResponse是对HttpResponse进行了封装
封装主要代码:
kwargs.setdefault('content_type', 'application/json')
data = json.dumps(data, cls=encoder, **json_dumps_params)
HttpResponse的写法:
return HttpResponse(json.dumps(json_data),content_type="application/json")
JsonResponse的写法:
return JsonResponse(json_data,safe=False)
(3)分页的配置
默认分页配置:在settings.py中进行设置:
REST_FRAMEWORK = {
'PAGE_SIZE':2, #每一页的条数
}
自定义分页配置:
在views中:
class GoodsPagination(PageNumberPagination):
page_size = 2
page_size_query_param = 'page_size'
page_size_param = 'p'
max_page_size = 5
# 获取列表的地方
queryset = Goods.objects.all()[:10]
serializer_class = GoodsSerializer
pagination_class = GoodsPagination
(4)view之间的关系
项目中常见报错问题:
问题1:
解决办法:
将代码中的:
改为:
问题2:pip install package 中的问题
pip install mysqlclient 时报错:
尝试用pip install --upgrade setuptools 解决这一问题,尼玛的又报错了
加了一个--user,这个算是解决了
pip install --user --upgrade setuptools
可是pip install mysqlclient的报错并没有解决
网友评论