前后端分离项目创建项目详细过程项、目需求分析、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:/ ...
随机推荐
- html CheckBox
1.获取单个checkbox选中项(三种写法)$("input:checkbox:checked").val()或者$("input:[type='checkbox']: ...
- Redis分布式锁应用
Redis锁的使用 起因:分布式环境下需对并发进行逻辑一致性控制 架构:springboot2.Redis IDEA实操 先新建RedisLock组件 注:释放锁使用lua脚本保持原子性 @Compo ...
- 直接快速下载NLTK数据
直接快速下载NLTK数据 直接下载NLTK的数据速度很慢,这里提供NLTK数据集,直接下载即可.或者选择下列百度云下载: 链接:https://pan.baidu.com/s/17ZgkoQeMosW ...
- go-carbon 1.5.1 版本发布, 修复已知 bug 和新增土耳其翻译文件
carbon 是一个轻量级.语义化.对开发者友好的golang时间处理库,支持链式调用. 目前已被 awesome-go 收录,如果您觉得不错,请给个star吧 github.com/golang-m ...
- <二>vector向量容器
底层数据结构:动态开辟的数组,每次以原始空间2倍扩容 vector vec; 增加 vec.push_back(100);容器末尾加元素 时间负责度O(1) 可能导致容器扩容 容器中的,对象的构造析构 ...
- 回顾Vue计算属性VS其他语法有感
回顾Vue计算属性VS其他语法有感 重新回顾官方教程中的到计算属性和侦听器,发觉获益良多,主要就是两点: 计算属性和其他语法的比较 计算属性.侦听属性.方法.模板变量的使用 计算属性和其他语法的比较 ...
- [编程基础] Python日志记录库logging总结
Python日志记录教程展示了如何使用日志记录模块在Python中进行日志记录. 文章目录 1 介绍 1.1 背景 1.2 Python日志记录模块 1.3 根记录器 2 Python logging ...
- 光速上手k8s(2023)(containerd)(未完待续)
又过了好久没写了,主要是近来状况也无聊 一.了解概念(参考) 概念 Kubernetes 是一个可移植.可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化. Kubernete ...
- 反射_Class对象功能概述-反射_Class对象功能_获取Field
反射_Class对象功能概述 * Class对象功能: * 获取功能: 1. 获取成员变量们 * Field[] getFields() :获取所有public修饰的成员变量 * Field getF ...
- Lamdba表达式的无参数无返回值的练习-Lambda表达式有参数有返回值的练习
Lamdba表达式的无参数无返回值的练习 题目给定一个厨子Cook接口,内含唯一的抽象方法makeFood,且无参数.无返回值.如下∶public interface cook {void makeF ...