前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >超越村后端开发(3:安装djangorestframework+序列化+API开发前期准备)

超越村后端开发(3:安装djangorestframework+序列化+API开发前期准备)

作者头像
玩蛇的胖纸
发布2019-04-09 15:08:27
5290
发布2019-04-09 15:08:27
举报

1.安装djangorestframework

1.安装djangorestframework及其依赖包markdown、django-filter。

代码语言:javascript
复制
pip install djangorestframework markdown django-filter

2.在settings中注册,如下:

代码语言:javascript
复制
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:

代码语言:javascript
复制
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__"

2.在apps/wish目录下新建serializers.py:

代码语言:javascript
复制
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:

代码语言:javascript
复制
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

代码语言:javascript
复制
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:

代码语言:javascript
复制
pip install django-cors-headers

2.在settings中注册:

代码语言:javascript
复制
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中添加相关中间件:

代码语言:javascript
复制
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中新增配置项:

代码语言:javascript
复制
CORS_ORIGIN_ALLOW_ALL = True

3.建立前端vue项目进行以备调试使用

1.前端环境配置

1.安装Node.js环境

2.安装cnpm

代码语言:javascript
复制
npm install -g cnpm --registry=https://registry.npm.taobao.org

3.搭建vue开发环境

代码语言:javascript
复制
cnpm install --global vue-cli

2.PC前端项目

1.新建vue项目:

代码语言:javascript
复制
vue init webpack-simple test
一直回车
cd test 
cnpm install
npm run dev
代码语言:javascript
复制
Ctrl+c键,退出运行状态

2.安装axios

代码语言:javascript
复制
cnpm install axios

3.搭建小程序前端项目

1.新建mpvue项目

代码语言:javascript
复制
vue init mpvue/mpvue-quickstart test1
回车

填入appid

一直回车

注意:项目不能新建在移动硬盘或者优盘等移动设备目录下,不然会报错:

代码语言:javascript
复制
Install fail! Error: EISDIR: illegal operation on a directory, symlink '......

2.然后按照提示,安装依赖

代码语言:javascript
复制
cd test1
cnpm install
npm run dev

效果图

 3.对test1/src/index.vue做初始化:

代码语言:javascript
复制
<template>
  <div>
    {{title}}
  </div>
</template>
<script>
export default {
  data () {
    return {
      title: 'hello world'
    }
  },
  methods: {
  },
  created () {
  }
}
</script>
<style scoped>
</style>

效果图

代码语言:javascript
复制
Ctrl+c键,退出运行状态

4.注释掉项目目录下的 build目录下的 webpack.base.conf.js 的一些代码:

代码语言:javascript
复制
{
        test: /\.(js|vue)$/,
        loader: 'eslint-loader',
        enforce: 'pre',
        include: [resolve('src'), resolve('test')],
        options: {
          formatter: require('eslint-friendly-formatter')
        }
},

5.勾选微信开发者工具的一些配置

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-03-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.安装djangorestframework
    • 1.安装djangorestframework及其依赖包markdown、django-filter。
      • 2.在settings中注册,如下:
      • 2.序列化
        • 1.在apps/users目录下新建serializers.py:
          • 2.在apps/wish目录下新建serializers.py:
            • 3.在apps/user_operation目录下新建serializers.py:
            • 3.API开发前期准备
              • 1.在settings中注释掉csrf验证,保证post请求不会出现403
                • 2.跨域问题解决
                  • 1.安装django-cors-headers:
                  • 2.在settings中注册:
                  • 3.在settings中添加相关中间件:
                  • 4.在settings.py中新增配置项:
                • 3.建立前端vue项目进行以备调试使用
                  • 1.前端环境配置
                  • 2.PC前端项目
                  • 3.搭建小程序前端项目
              相关产品与服务
              消息队列 TDMQ
              消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档