本文介绍了前后端工作原理,前后端搭建的流程、搭建过程中需要用到的技术以及开发环境版本
Django负责处理HTTP请求和响应,以及URL路由的配置。它接收来自前端的HTTP请求,并根据URL将请求分发给相应的视图函数进行处理。
Rest Framework是Django的扩展,用于快速构建RESTful API接口。通过Rest Framework,可以定义API视图和序列化器,实现数据的序列化和反序列化,从而方便地与前端进行数据交互。
Vue是一种现代的JavaScript框架,用于构建用户界面。Vue提供了丰富的组件和模块,可以帮助开发者构建交互式的单页面应用(SPA)。
Element UI是一个基于Vue的UI组件库,提供了丰富的预定义组件,用于快速搭建美观的用户界面。
前端通过HTTP请求向后端发送数据请求,后端根据请求进行相应的数据处理,并返回响应数据给前端。
总体而言,这种前后端分离的开发模式有助于实现前后端开发的解耦,使得各自的开发工作更加专注和高效。前端负责用户界面的呈现和交互,后端负责数据处理和业务逻辑,通过API接口进行数据传输和交互,从而实现一个完整的Web应用。
安装相关包:在开始之前,首先需要安装Python和pip,然后安装Django等相关包,可以使用pip命令来安装。
后端依赖(pipenv)创建虚拟环境:建议使用pipenv来创建和管理虚拟环境,以便隔离项目的依赖和环境。
后端创建子应用:根据项目的需要,可以创建多个子应用(app)来管理不同的功能模块。
数据库配置:配置Django项目的数据库连接,通常使用MySQL作为后端数据库,可以在settings.py中进行配置。
创建工程(模板)-前端依赖(npm install)-前端服务配置启动
创建工程(模板):可以使用Vue脚手架工具或其他模板工具来创建Vue项目的初始结构。
前端依赖(npm install):在项目目录下执行npm install命令,安装项目所需的前端依赖包,这些依赖包通常存储在package.json文件中。
前端服务配置启动:在项目目录下执行npm run serve命令,启动前端开发服务器,可以在浏览器中预览项目。
隔离项目依赖:通过创建后端虚拟环境,每个项目都拥有独立的Python解释器和包安装目录,这样可以避免不同项目之间的依赖冲突。每个虚拟环境只包含该项目所需的依赖,使得项目可以在独立的环境中运行,而不受其他项目的影响。
确保依赖一致性:虚拟环境通常会配合使用Pipenv等工具来管理项目的依赖,这样可以确保项目在不同环境中安装相同的依赖版本,从而避免由于依赖版本不一致而引发的错误。
提高项目可移植性:将项目的依赖放在虚拟环境中,可以使得项目在不同的计算机或服务器上都能轻松地部署和运行,而不需要担心依赖问题。
简化依赖管理:虚拟环境可以将项目所需的依赖以及其版本信息保存在一个文件中(例如Pipfile.lock),这样可以方便地重现项目的开发环境,使得依赖的安装和管理更加简单和自动化。
Pipenv是Python的一个包管理工具和虚拟环境管理工具,它是为了解决Python项目中依赖管理和虚拟环境创建的问题而开发的。Pipenv结合了pip(Python的包管理工具)和virtualenv(Python的虚拟环境管理工具)的功能,提供了更方便、更高级的包管理和虚拟环境管理功能。
自动创建虚拟环境:在使用Pipenv安装项目依赖时,它会自动创建一个虚拟环境,确保项目的依赖不会与其他项目冲突。
管理依赖:Pipenv会自动地管理项目的依赖关系,并将依赖信息保存在Pipfile和Pipfile.lock文件中,这样可以确保项目在不同环境中安装相同的依赖版本。
简化依赖安装:使用Pipenv安装依赖非常简单,只需要运行一个命令即可,而不需要手动管理依赖的安装。
提供更友好的命令行界面:Pipenv提供了一组易于使用的命令,使得包管理和虚拟环境管理更加直观和简便。
支持开发模式:Pipenv支持将项目的开发依赖和运行时依赖分开,这样可以减少项目打包时的冗余依赖。
序列化:DRF提供了序列化器,可以将数据对象转换成JSON等格式,以便于在API中进行传输。同时,它也可以将传入的JSON数据反序列化为数据对象,便于在后端进行处理。
视图:DRF提供了各种视图类,用于处理API请求,并返回适当的响应。包括基于函数的视图和基于类的视图,还有通用视图和视图集等。
路由:DRF提供了灵活的路由功能,用于将API请求映射到相应的视图处理函数上。
分页和过滤:DRF提供了分页和过滤功能,便于处理大量数据和筛选查询结果。
强大的请求和响应处理:DRF支持各种数据格式的请求和响应处理,包括JSON、XML、HTML等。
API文档生成:DRF自带的Browsable API功能可以生成易于阅读和理解的API文档,方便开发人员和团队的协作。
最后:在我的V:atstudy-js,可以免费领取一份10G软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。