美文网首页Python
python笔记三 react + django 实现前后端分

python笔记三 react + django 实现前后端分

作者: 风中的猴子 | 来源:发表于2018-09-12 14:11 被阅读0次

    python笔记一 django搭建服务器全栈开发
    python笔记二 django自带后台管理系统、模版渲染以及使用mysql数据库
    python笔记三 react + django 实现前后端分离
    python笔记四 REST Framework 实现 restful api
    python笔记五 django headers带jwt实现自动登录,密码加密存储

    前端不局限于react,vue、jquery、纯手撸也可以,用什么不重要,重要的是前后端分离。服务端只提供接口。

    一、项目初始化

    1、前端

    脚手架怎么装就不说了,直接开始初始化。

    create-react-app site
    cd site
    npm install
    npm start
    
    image.png

    2、服务端

    在项目根目录下

    django-admin startproject service
    cd service
    python manage.py startapp server
    python manage.py makemigrations
    python manage.py migrate
    python manage.py runserver
    

    跑起来,访问127.0.0.1:8000

    image.png
    至此前后端项目已完成初始化。

    二、前后端交互

    1、前端部分

    进入site文件夹下
    这里发送请求用axios,需要npm安装

    npm install axios --save

    打开site > src > App.js,修改如下

    image.png

    加了两个input两个button

    image.png

    2、服务端部分

    修改配置

    需要安装django-cors-headers,允许跨域请求。

    pip3 install django-cors-headers
    

    修改settings.py

    image.png
    image.png
    settings.py加上这一部分
    image.png

    django-cors-headers的具体配置看这里:https://github.com/ottoyiu/django-cors-headers

    建表

    image.png

    同步数据库


    image.png

    添加到后台管理

    目的是交互之后写到数据库便于查看,也可以用命令行看,这个随意。


    image.png

    接口

    post

    server > views.py

    image.png
    service > urls.py
    image.png
    写好之后试一下。
    image.png
    write之后看一下打印
    image.png
    status是200,数据也没有问题。
    接下来看一下后台管理,数据库里新增的那条数据
    创建一个管理账号
    python manage createsuperuser
    

    自己设好账号密码,访问 http://127.0.0.1:8000/admin

    image.png
    输入刚创建好的账号密码登录,看到Person这个表
    image.png
    点进去,里边有一条刚插入的数据
    image.png
    get

    server > views.py

    image.png
    service > urls.py
    image.png
    接下来测试,点页面上的read按钮,看一下打印
    image.png
    可以看到get数据也没有问题,但是有时候我们调用get接口的时候需要参数,从数据库中查找特定的某一条数据,现在有三条数据。
    image.png
    修改前端请求,加一个参数
    image.png
    修改server > views.py
    image.png
    重新read一下
    image.png
    只取出了name = a的那条数据。

    至此实现了django只做接口,react写前端的前后分离,当然还有很多细节需要处理,这里就不细说了,关于sqllite的语句,还有uuid的生成这些网上都有很多文章。如果不想要自带的后台管理,自己写一个,调用接口就可以了。

    相关文章

      网友评论

        本文标题:python笔记三 react + django 实现前后端分

        本文链接:https://www.haomeiwen.com/subject/slumgftx.html