开发环境部署(五)Django + REACT项目部署

单纯想学习如何写django项目,直接访问djangoproject.com的教程,学会创建project和apps即可。

本文重点是建立restframework提供REST的DRF项目,并且完成与REACT的前端交互(加上必要的中间插件)

1、后端的搭建

1、按照官方教程安装相关依赖

http://www.django-rest-framework.org/

sudo pip3 install djangorestframewor
sudo pip3 install markdown
sudo pip3 install django-filter

2、创建新的DJANGO项目和对应的API项目

# Set up a new project with a single application
django-admin.py startproject Backend.  # Note the trailing '.' character
cd Backend
django-admin.py startapp api
cd ..

3、执行命令建立数据库

python3 manage.py migrate

4、创建新用户

python3 manage.py createsuperuser --email admin@example.com --username admin

5、创建一个新的 Backend/api/serializers.py

from django.contrib.auth.models import User, Group
from rest_framework import serializers


class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ('url', 'username', 'email', 'groups')


class GroupSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Group
        fields = ('url', 'name')

6、在api/views.py下创建如下内容

from django.contrib.auth.models import User, Group
from rest_framework import viewsets
from Backend.api.serializers import UserSerializer, GroupSerializer


class UserViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows users to be viewed or edited.
    """
    queryset = User.objects.all().order_by('-date_joined')
    serializer_class = UserSerializer


class GroupViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows groups to be viewed or edited.
    """
    queryset = Group.objects.all()
    serializer_class = GroupSerializer

7、在根目录Backend/urls 创建如下内容

from django.contrib.auth.models import User, Group
from rest_framework import viewsets
from Backend.api.serializers import UserSerializer, GroupSerializer


class UserViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows users to be viewed or edited.
    """
    queryset = User.objects.all().order_by('-date_joined')
    serializer_class = UserSerializer


class GroupViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows groups to be viewed or edited.
    """
    queryset = Group.objects.all()
    serializer_class = GroupSerializer

8、在Backend的 settings.py中添加如下内容

INSTALLED_APPS = (
    ...
    'rest_framework',
)

9、最终API调用图

python3 manage.py runserver

 

 

2、前端的搭建

先安装nodejs

 

参考官方网站的教程

https://reactjs.org/docs/add-react-to-a-new-app.html

1、安装并创建新app

sudo npm install -g create-react-app
create-react-app my-app

2、启动app

cd my-app
npm start

3、刷新页面看到结果

 

4、接下来安装相关依赖

(不安装会提示 ajv-keywords@3.2.0 requires a peer of ajv@^6.0.0 but none is installed)

sudo npm install -g npm-install-peer #这是解决ajd@^6.0.0的问题
sudo npm install webpack
sudo npm install --save-dev babel-preset-es2015 babel-preset-stage-3
sudo npm install --save redux redux-logger redux-persist react-redux
sudo npm install --save axios react-router-dom lodas

(可能安装完还会提示requires a peer of react@>=15 but none is installed. You must install peer dependencies yourself。

检查一下package.json,如安装了react高版本就没问题,可能没识别对)

现在,我们先只展示将前端连接后端的主要部分。

5、首先创建一个 redux store,用它来保存用户的 token,以便将来进行更多的API调用。

 

优衣库销售数据分析可视化项目的开发环境主要包括以下几个方面: 1. 编程语和开发工具:项目的开发可以使用多种编语言,如Python、R、JavaScript等。Python和R常用于数据处理和分析,JavaScript用于Web可视化。常见的开发工具包括Jupyter Notebook、PyCharm、RStudio等,它们提供了丰富的开发功能和调试工具。 2. 数据库和数据存储:项目可能需要使用数据库存储销售数据。常见的关系型数据库包括MySQL、PostgreSQL等,而NoSQL数据库如MongoDB和Elasticsearch也可以用于存储非结构化数据。选择数据库时需要考虑数据规模、查询需求和性能要求。 3. 数据分析和可视化工具:项目需要使用一些数据分析和可视化工具来处理和呈现数据。常见的数据分析工具包括Python中的pandas、NumPy和SciPy,以及R语言中的tidyverse等。而数据可视化工具如matplotlib、Seaborn、Plotly(Python)和ggplot2(R)可以用于创建各种图表和可视化效果。 4. Web开发技术:如果需要将分析结果以Web应用形式呈现,可能需要使用HTML、CSS和JavaScript等前端技术来构建用户界面和交互功能。常见的Web框架如Django和Flask(Python)、React和Angular(JavaScript)等可以简化开发过程。 5. 部署和运行环境:完成开发后,项目需要在适当的部署和运行环境中进行部署。这可能涉及到服务器的配置、容器化技术(如Docker)的应用,以及云平台(如AWS、Azure或GCP)的使用,以确保项目的可靠性和性能。 综上所述,优衣库销售数据分析可视化项目的开发环境涉及编程语言和开发工具、数据库和数据存储、数据分析和可视化工具、Web开发技术,以及部署和运行环境等方面。具体的选择取决于项目需求和开发团队的偏好。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值