前后端分离项目创建项目详细过程项、目需求分析、pip换源、创建虚环境、后端目录调整以及解决问题
引言,本项目是前后端分离的,前端用Vue2 后端用Django,后台管理部分是通过simpleUI完成的项目,项目名称为路飞,是商城类(知识付费项目)。本篇文章主要讨论一个前后端分离的项目第一步怎么做?如何创建前端项目?如何创建后端项目?虚拟环境如何创建?还顺便分析了实际工作过程中的具体工作流程。
一、公司软件开发流程
1.公司新项目工作流程

2.公司老项目工作流程

3.后端程序员工作职责

二、路飞项目需求分析
项目的需求分析提供思维导图的方式展示了,因为这样内容一目了然

三、pip换源及虚拟环境
1.pip换源
我们Python的强大之处就是有非常多的牛逼的第三方模块,后面的程序员只需要下载第三方模块,然后站在大佬们的肩膀上开发,第三方开发者,开发了第三方模块,把模块打包传到了pypi上根据名字,把这个打包好的模块下载下来了在公司中出现的情如果不能上外网 xx.whl 文件提交下好,再安装----》pip install 路径/xx.whl已经有项目,模块装完了,想把这个项目所有的模块导出---》导入到别的项目、如果可以顺利上外网下载会很慢,因为在国外国内有些镜像站建议用阿里云网址:https://mirrors.aliyun.com/pypi/simple。
因此,我们把自己的电脑可以配置成默认从阿里云下载的状态,以下是具体操作流程。
第一步:文件管理器文件路径地址栏敲>>>:%APPDATA%

第二步:然后敲回车快速进入>>> C:\Users\电脑用户\AppData\Roaming 文件夹中

第三步:新建 pip 文件夹

第四步:在pip文件夹中新建 pip.ini 配置文件

第五步:新增 pip.ini 配置文件内容
[global]
index-url = https://mirrors.aliyun.com/pypi/simple
[install]
use-mirrors =true
mirrors =https://mirrors.aliyun.com/pypi/simple
trusted-host =mirrors.aliyun.com

展示使用方法:配置本地镜像站为阿里云,以后只要pip install 就是去阿里云下载

2.虚拟环境
一般情况一台机器上只能安装一个应用程序,但python可以安装很多遍,并可以安装在任意位置。在安装插件的时候,需要选择是给哪套程序安装插件。python使用这种方法不仅实现了第三方插件的相互隔离, 也实现了在同一台机器上配出多个各具特色的python环境。这样就各种项目的运行环境分离开了,就不用担心项目之间版本冲突而运行不了的问题,每个项目都有其独立的虚拟环境。那么接下来我们详细的演示以下创建虚拟环境的步骤
第一步:先在cmd中下载以下两个模块
pip3 install virtualenv # 虚拟环境是它
pip3 install virtualenvwrapper-win # 对虚拟环境的加强,以后只需要简单的命令就可以使用和创建虚拟环境

第二步:在环境变量中新建:WORKON_HOME: D:\Virtualenvs


第三步:在D盘根目录新建Virtualenvs文件夹

第四步:去向Python3的安装目录 > Scripts文件夹 > virtualenvwrapper.bat > 双击

第五步:在cmd里面输入以下命令
mkvirtualenv -p python3 luffy
以后在cmd窗口直接敲以上的命令就可以命令行创建自己的虚拟环境
四、创建前后端的项目
1.创建前端项目
创建luffy项目前端部分非常简洁,全部步骤总结到一张截图中了

2.创建后端项目
第一步:把虚拟环境添加添加的解析器目录里面

第二步:用已经创建的虚拟环境创建luffy项目后端

创建好的luffy后端项目展示

五、后端目录调整后出现的问题解决方案
首先确保新创建的项目能够正常运行

项目目录调整成这个样子

调整完之后项目运行不了了,会报错的 原因是项目一运行就首先加载settings.py文件,但是我们改目录结构的过程中把配置文件改动了

接下来咱就把问题解决了
项目开发阶段改以下配置

项目上线阶段改以下配置

然后在terminal输入以下命令就可以运行
python manage.py runserver
tips:
如果命令能运行,但是上面的运行按钮依然报错的话,咱们把原有的删掉,之后再重新添加即可
自动创建APP的详细步骤

cd luffy_api
cd apps
python ../../manage.py startapp home
创建完APP之后需要注册,如果想直接写APP名字的方式的话需要配置一下的,详情看下面
在dev.py配置文件里面配置如下代码就可以解决只注册APP名和相对导入的问题
from pathlib import Path
import os
import sys
# 我们就是要让小路飞路径作为项目根路径
BASE_DIR = Path(__file__).resolve().parent.parent # 项目根路径, 小路飞luffy_api路径 D:\pythonProject03\luffy_api\luffy_api
# print(BASE_DIR)
# 把 apps 路径加入到环境变量
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
# 把BASE_DIR也加入到环境变量,以后直接从小路飞开始导起即可
sys.path.insert(0, BASE_DIR)
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
最后下面的配置只要解决pycharm编辑器写代码明明写对但是爆红的问题

前后端分离项目创建项目详细过程项、目需求分析、pip换源、创建虚环境、后端目录调整以及解决问题的更多相关文章
- springBoot 搭建web项目(前后端分离,附项目源代码地址)
springBoot 搭建web项目(前后端分离,附项目源代码地址) 概述 该项目包含springBoot-example-ui 和 springBoot-example,分别为前端与后端,前后端 ...
- 在前后端分离的SpringBoot项目中集成Shiro权限框架
参考[1].在前后端分离的SpringBoot项目中集成Shiro权限框架 参考[2]. Springboot + Vue + shiro 实现前后端分离.权限控制 以及跨域的问题也有涉及
- 基于Spring Boot+Spring Security+JWT+Vue前后端分离的开源项目
一.前言 最近整合Spring Boot+Spring Security+JWT+Vue 完成了一套前后端分离的基础项目,这里把它开源出来分享给有需要的小伙伴们 功能很简单,单点登录,前后端动态权限配 ...
- Vue+Spring Boot 前后端分离的商城项目开源啦!
新蜂商城 Vue 移动端版本开源啦! 去年开源新蜂商城项目后,就一直在计划这个项目 Vue 版本的改造,2020 年开始开发并且自己私下一直在测试,之前也有文章介绍过测试过程和存在的问题,修改完成后, ...
- 前后端分离之前端项目构建(grunt+require+angular)
前言 前段时间做了一个项目,前端开发页面,然后把代码给到后端同学,后端同学通过vm再来渲染页面.后来才发现,这种方式简直是太low了,因为前端代码在服务端同学那里,每次前端需要更改的时候都需要去到服务 ...
- idea前后端分离搭建 JavaWeb项目
我们小组在开发的时候, 承诺了前后端分离, 那么就要求前端和后端需要分开搭建. 不能同时放在一个工程项目中. 大致的思路是开启两个Tomcat, 一个跑前端页面, 一个跑后端程序. 1. idea打开 ...
- 如何在开发时部署和运行前后端分离的JavaWeb项目
在开发中大型的JavaEE项目时,前后端分离的框架逐渐成为业界的主流,传统的单机部署前后端在同一个项目中的工程项目越来越少.这类JavaWeb项目的后端通常都采用微服务的架构,后端会被分解为诸多个小项 ...
- SpringMVC前后端分离交互传参详细教程
温故而知新,本文为一时兴起写出,如有错误还请指正 本文后台基于SpringBoot2.5.6编写,前端基于Vue2 + axios和微信小程序JS版分别编写进行联调测试,用于理解前后端分离式开发的交互 ...
- QT源码解析(七)Qt创建窗体的过程,作者“ tingsking18 ”(真正的创建QPushButton是在show()方法中,show()方法又调用了setVisible方法)
前言:分析Qt的代码也有一段时间了,以前在进行QT源码解析的时候总是使用ue,一个函数名在QTDIR/src目录下反复的查找,然后分析函数之间的调用关系,效率实在是太低了,最近总结出一个更简便的方法, ...
- 分享一个前后端分离的web项目(vue+spring boot)
Github地址:https://github.com/smallsnail-wh 前端项目名为wh-web 后端项目名为wh-server 项目展示地址为我的github pages(https:/ ...
随机推荐
- Java实现递归查询树结构
我们在实际开发中,肯定会用到树结构,如部门树.菜单树等等.Java后台利用递归思路进行构建树形结构数据,返回给前端,能以下拉菜单等形式进行展示.今天,咱们就来说说怎么样将List集合转换成TreeLi ...
- js文字无限循环向上滚动
html代码 <div id="scroll"> <div id="con1"> <p style="color: re ...
- 命令查询职责分离 - CQRS
概念 CQRS是一种与领域驱动设计和事件溯源相关的架构模式, 它的全称是Command Query Responsibility Segregation, 又叫命令查询职责分离, Greg Young ...
- Django批量插入(自定义分页器)
目录 一:批量插入 1.常规批量插入数据(时间长,效率低 不建议使用) 2.使用orm提供的bulk_create方法批量插入数据(效率高 减少操作时间) 3.总结 二:自定义分页器 1.自定义分页器 ...
- 配置php-fpm识别php文件访问
以前是装的集成环境,没有想到装完Nginx + PHP + MySQL 启动nginx 服务,出现页面: 如果访问120.25.216.6/index.php 就会变成下载 之所以会这样是因为2个原因 ...
- Spring之后置处理器
Spring的后置处理器是Spring对外开发的重要扩展点,允许我们接入Bean的实例化流程中,以达到动态注册BeanDefinition.动态修改BeanDefinition.动态修改Bean的 ...
- Gorm源码学习-创建行记录
1. 前言 Gorm源码学习系列 Gorm源码学习-数据库连接 此文是Gorm源码学习系列的第二篇,主要梳理下通过Gorm创建表的流程. 2. 创建行记录代码示例 gorm提供了以下几个接口来创建行记 ...
- Redis的数据复制
介绍 Redis 的复制 Redis 的复制功能分为同步(sync)和命令传播(command propagate)这两个操作 同步操作用于,将从服务器的数据库状态更新至主服务器当前所处的数据库状态: ...
- pymysql在读取bit类型时显示x00的解决办法
#用于转换bit在pymysql中显示为x00的问题from pymysql import convertersconverions = converters.conversionsconverion ...
- SOFAJRaft模块启动过程
本篇文章旨在分析SOFAJRaft中jraft-example模块的启动过程,由于SOFAJRaft在持续开源的过程中,所以无法保证示例代码永远是最新的,要是源代码有较大的变动,亦或出现纰漏.错误的地 ...