超越村后端开发(3:安装djangorestframework+序列化+API开发前期准备)
1.安装djangorestframework
1.安装djangorestframework及其依赖包markdown、django-filter。
pip install djangorestframework markdown django-filter
2.在settings中注册,如下:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'users.apps.UsersConfig', 'wish.apps.WishConfig', 'user_operation.apps.UserOperationConfig', 'crispy_forms', 'xadmin', 'rest_framework' ]
2.序列化
1.在apps/users目录下新建serializers.py:
from rest_framework import serializers from .models import UserProfile,WxUsers class UserProfileModelSerializer(serializers.ModelSerializer): class Meta: model = UserProfile fields="__all__" class WxUsersModelSerializer(serializers.ModelSerializer): class Meta: model = WxUsers fields="__all__" class WxUsersAreaModelSerializer(serializers.ModelSerializer): class Meta: model = WxUsers fields = ('gender', 'city', 'longitude', 'latitude')
2.在apps/wish目录下新建serializers.py:
from rest_framework import serializers from .models import Wish,News,Images class WishModelSerializer(serializers.ModelSerializer): class Meta: model = Wish fields="__all__" class NewsModelSerializer(serializers.ModelSerializer): class Meta: model = News fields="__all__" class ImagesModelSerializer(serializers.ModelSerializer): class Meta: model = Images fields="__all__"
3.在apps/user_operation目录下新建serializers.py:
from rest_framework import serializers from .models import Message,Pick,Share,Notice class MessageModelSerializer(serializers.ModelSerializer): class Meta: model = Message fields="__all__" class PickModelSerializer(serializers.ModelSerializer): class Meta: model = Pick fields="__all__" class ShareModelSerializer(serializers.ModelSerializer): class Meta: model = Share fields="__all__" class NoticeModelSerializer(serializers.ModelSerializer): class Meta: model = Notice fields="__all__"
3.API开发前期准备
1.在settings中注释掉csrf验证,保证post请求不会出现403
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', # 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]
2.跨域问题解决
1.安装django-cors-headers:
pip install django-cors-headers
2.在settings中注册:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'users.apps.UsersConfig', 'wish.apps.WishConfig', 'user_operation.apps.UserOperationConfig', 'crispy_forms', 'xadmin', 'rest_framework', 'corsheaders' ]
3.在settings中添加相关中间件:
MIDDLEWARE = [ 'corsheaders.middleware.CorsMiddleware', # 放到中间件顶部 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', # 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]
4.在settings.py中新增配置项:
CORS_ORIGIN_ALLOW_ALL = True
3.建立前端vue项目进行以备调试使用
1.前端环境配置
1.安装Node.js环境
2.安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
3.搭建vue开发环境
cnpm install --global vue-cli
2.PC前端项目
1.新建vue项目:
vue init webpack-simple test 一直回车 cd test cnpm install npm run dev
Ctrl+c键,退出运行状态
2.安装axios
cnpm install axios
3.搭建小程序前端项目
1.新建mpvue项目
vue init mpvue/mpvue-quickstart test1 回车 填入appid 一直回车
注意:项目不能新建在移动硬盘或者优盘等移动设备目录下,不然会报错:
Install fail! Error: EISDIR: illegal operation on a directory, symlink '......
2.然后按照提示,安装依赖
cd test1 cnpm installnpm run dev
效果图
3.对test1/src/index.vue做初始化:
<template> <div> {{title}} </div> </template> <script> export default { data () { return { title: 'hello world' } }, methods: { }, created () { } } </script> <style scoped> </style>
效果图
Ctrl+c键,退出运行状态
4.注释掉项目目录下的 build目录下的 webpack.base.conf.js 的一些代码:
{ test: /\.(js|vue)$/, loader: 'eslint-loader', enforce: 'pre', include: [resolve('src'), resolve('test')], options: { formatter: require('eslint-friendly-formatter') } },
5.勾选微信开发者工具的一些配置
超越村后端开发(3:安装djangorestframework+序列化+API开发前期准备)的更多相关文章
- 超越村后端开发(2:新建models.py+xadmin的引入)
1.新建Model 1.users数据 1.在apps/users/models.py中: from datetime import datetime from django.db import mo ...
- 超越村后端开发(4:API开发)
1.users相关的api开发 1.在settings中添加APPID,SECRET 2.在apps/users/views.py内: from chaoyuecun.settings import ...
- 超越村后端开发(5:远程同步本地与服务器端的MySQL数据库)
1.同步MySQL数据库 服务器选用的华为云,安装了Ubuntu18.04,华为云默认是以root用户登录的. 1.使用Xshell6连接华为云 ls 2.Ubuntu18.04安装MySQL5.7 ...
- Beaglebone Black开发板安装驱动
Beaglebone Black开发板安装驱动 Beaglebone Black开发板安装驱动,在使用Beaglebone Black开发板子做任何事情之前首先需要安装驱动.下面的内容就了展示在Win ...
- API开发管理平台eoLinker AMS 4.1版本发布:加入聚合空间,发布AMS专业版等
eoLinker AMS是集API文档管理.API自动化测试.开发协作三位一体的综合API开发管理平台,是中国最大的在线API管理平台. eoLinker AMS 4.1更新内容: 1.新增" ...
- 一.前后端分离及drf实现序列化的原理
为什么要进行前后端分离 可pc.app.pad多端适应 SPA开发模式的流行--单页web应用(只有一html页面) 可实现前后端开发职责清(不分离时,前端是通过后端给的变量并渲染出来方式拿到数据! ...
- django之djangorestframework序列化操作
只介绍序列化操作:serializers.ModelSerializer 与 serializers.Serializer 使用序列化的目的:将数据序列化成 JSON 对象 当页面上需要动态加载内容 ...
- Nginx+Python+uwsgi+Django的web开发环境安装及配置
Nginx+Python+uwsgi+Django的web开发环境安装及配置 nginx安装 nginx的安装这里就略过了... python安装 通常系统已经自带了,这里也略过 uwsgi安装 官网 ...
- Jeecg-Boot 开发环境准备(二):开发工具安装
目录索引: 后端开发工具 前端开发工具 Nodejs镜像 WebStorm入门配置 JeecgBoot采用前后端分离的架构,官方推荐开发工具 前端开发: Webstrom 或者 IDEA 后端开发: ...
随机推荐
- java基础(四):谈谈java中的IO流
1.字节流 1.1.字节输出流output 1.1.1.数据写入文件中 通过api查找output.找到很多,其中java.io.OutputStream,OutputStream: 输出字节流的超类 ...
- 超大文本文件浏览器Snaptext,支持不限制大小的文本文件浏览
文本文件超过1G就很少有软件可以打开了,超过10G就只有有限的几个可以打开了,那20G.30G.100G呢? Snaptext超大文本浏览器,应该是世界上最快速的文本文件浏览器,它支持基本不限制大小的 ...
- Linux系统上Nginx服务器的安装与配置
前言: 详细步骤移步菜鸟教程 一. 安装Nginx,注意虚拟机与宿主机的网络连通性 l 安装编译工具及库文件(zlib库. ssl) yum -y install make zlib zlib-de ...
- node.js微信小程序配置消息推送
在开发微信小程序时,有一个消息推送,它的解释是这样的. 消息推送具体的内容是下面的这个网址 https://developers.weixin.qq.com/miniprogram/dev/fra ...
- UDK Stat命令
Stat命令(chs en)提供了游戏和引擎各个方面的实时统计信息,输入不同参数会在屏幕HUD上显示对应统计数据. 非Shipping版的UDK才会启用STATS宏,统计逻辑才会编译进exe,才能使 ...
- JDBC实现简单增删改查
JDBC全称为:Java Data Base Connectivity (java数据库连接),主要用于java与数据库的链接. 整个链接过程如下图: 1.数据库驱动:Driver 加载mysql驱动 ...
- UI对象库-定位元素与程序分离
1.前言 这几天有人问我,UI自动化测试中使用到的页面定位元素应该存放在哪里比较合适?我想说的是如果你使用的是PO设计模式设计测试用例的话,可以把定位元素存在每一个page页面,一个page存放对应的 ...
- 自反ACL(第三组)
一.实验拓扑 二.配置过程 此处我用了学号后两位来划分网段,注意:先把网络做通再配ACL 1)网络连通测试 内网可以telnet外网 ----------- 外网可以telnet内网 2)ACL配置( ...
- SQLAchemy模块
老师的博客:http://www.cnblogs.com/wupeiqi/articles/5713330.html 有一篇习详细的博客: http://www.keakon.net/2012/12/ ...
- VS与Windbg调试
原文 : https://blog.csdn.net/fin86889003/article/details/20126593 原文 : https://blog.csdn.net/u014339 ...