前后端分离项目创建项目详细过程项、目需求分析、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:/ ...
随机推荐
- SSH ERROR com.opensymphony.xwork2.interceptor.ParametersInterceptor
修改struts.xml配置:struts.devMode value="false" <constant name="struts.devMode" v ...
- Execute Crond Service on openEuler
一.Execute Crond Service on openEuler 1 crond 概述 crond就是计划任务/定时任务 常见有闹钟.PC端定时关机 shutdown -s -t 200,定时 ...
- 【JVM故障问题排查心得】「内存诊断系列」JVM内存与Kubernetes中pod的内存、容器的内存不一致所引发的OOMKilled问题总结(上)
背景介绍 在我们日常的工作当中,通常应用都会采用Kubernetes进行容器化部署,但是总是会出现一些问题,例如,JVM堆小于Docker容器中设置的内存大小和Kubernetes的内存大小,但是还是 ...
- Java9-17新特性一览,了解少于3个你可能脱节了
前言 Java8出来这么多年后,已经成为企业最成熟稳定的版本,相信绝大部分公司用的还是这个版本,但是一眨眼今年Java19都出来了,相信很多Java工程师忙于学习工作对新特性没什么了解,有的话也仅限于 ...
- 【SQL进阶】【REPLACE/TIMESTAMPDIFF/TRUNCATE】Day01:增删改操作
一.插入记录 1.插入多条记录 自己的答案: INSERT INTO exam_record(uid, exam_id, start_time, submit_time, score) VALUES ...
- go操作Kfaka
目录 1. Kafka介绍 1.1.1. Kafka是什么 1.1.2. Kafka的特点 1.1.3. 常用的场景 1.1.4. Kafka中包含以下基础概念 1.1.5. 消息 1.1.6. 消息 ...
- uniapp onLoad里面拿不到reject的参数
在onLoad中直接调用自己用promise封装的请求 reject居然会收不到参数.. onLoad(){ this.$fetch(xxxx) .catch(err=>{ }) // 这里获取 ...
- Java中将 int[] 数组 转换为 List(ArrayList)
前言 说起数组转换成 ArrayList,很多同学第一反应就是遍历数组,将元素逐个添加到 ArrayList 中,但是这个看着就lower,一般不会这么答. 所以马上就会想到Arrays工具类的 as ...
- Linux基础 文件和目录
文件和目录 前言 本章讨论文件属性和文件系统内容.除了上一章讨论的普通文件,Linux的文件概念还包括:目录.设备等.在Linux系统中,文件的种类包括:普通文件.目录.符号链接.块设备.字符设备.管 ...
- Python实验报告(第9章)
实验9:异常处理及程序调试 一.实验目的和要求 1.了解代码异常知识: 2.掌握异常处理的try-except语句.try-except-else语句.try-except-finally语句.rai ...