路飞学城环境配置

后端配置

python虚拟环境

视频中使用的是pip来进行包管理,但是在conda和pip都是用了一遍的情况下,个人觉得使用conda来进行包管理更方便,而且在conda中也能够使用pip,因此我使用pip来进行包管理:
创建luffy虚拟环境:

conda create -n luffy python=3.6

进入虚拟环境:

conda activate luffy
  • 为什么要使用虚拟环境呢?

虚拟环境存在的意义只是为了将项目独立,使用虚拟环境的优势就是,该项目使用的第三方工具都需要在虚拟环境中使用pip/conda命令安装,并且安装好的工具不影响系统已有的工具,同时系统中的其他项目也无法调用虚拟环境中安装的工具

当我们在完成项目之后,可以使用如下命令,将项目依赖的python第三方包写进requirements.txt中:

pip freeze > requirements.txt

在部署的时候,使用下面的命令就可以安装可开发时使用的相同版本的包,非常好用:

pip install -r requirements.txt

外部依赖

  1. 注册支付宝开发者账号 https://open.alipay.com/
  2. 注册阿里云服务器,我这就不了,就使用实验室的服务器
  3. 注册容联云短信接口平台
  4. 注册保利威视频服务平台
  5. 注册gitee账号,我使用git
  6. 如果有条件,可以申请一个域名进行备案(ICP备案和公安部备案),如果没有的话,可以注册natapp(内网穿透)
  • 什么是内网穿透?

公网是不能够直接访问内网机器的,我们使其能的过程就叫内网穿透。具体的解释见知乎.

依赖包安装

pip install django 
pip install djangorestframework 
pip install Pymysql 
pip install Pillow 
pip install django-redis 

Pillow模块用于处理图片、redis用于数据缓存
如果安装过程中有卡顿,因为有墙,我们可以使用-i参数来设置我们的源,例如:

pip install django -i https://pypi.douban.com/simple/

创建后端项目

创建自己想要的工程文件夹,使用django-admin来新建后端目录结构,具体命令如下:

mkdir luffy
cd luffy
django-admin startproject luffyapi

命令生成的目录结构如下:
在这里插入图片描述

  • manage.py:我们称之为项目的脚手架,是终端运行的脚本,通过它来启动、管理项目
  • setting.py:是项目的整体配置文件
  • urls.py:是项目的url配置文件
  • wsgi.py:是项目与WSGI(Web服务器网关接口 Python Web Server Gateway Interface)兼容的web服务器入口

使用下面的命令,便可以运行django项目了,默认端口为8000,见到下面的图,表示成功

python manage.py runserver

在这里插入图片描述

目录结构调整

项目的整体目录如下图,后续开发过程中按照目录的作用存放代码
在这里插入图片描述

版本管理

包括svn、gitee、git
svn是集中式版本管理工具
git是分布式版本管理工具
gitee是中文版本的git

日志配置

django文档中复制日志配置例子。配置的项目主要是日志的格式、日志的过滤方法、日志的处理方式。setting中日志的配置代码如下:

#日志配置
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    #日志的格式
    'formatters': {
        'verbose': {
            'format': '{levelname} {asctime} {module} {lineno:d} {process:d} {thread:d} {message}',
            'style': '{',
        },
        'simple': {
            'format': '{levelname} {message}',
            'style': '{',
        },
    },
    #日志的过滤信息
    'filters': {
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        },
    },
    #日志的处理方式
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
            'formatter': 'verbose',
        },
        'file': {
            'level': 'INFO',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': os.path.join(os.path.dirname(BASE_DIR), 'logs/luffy.log'),
            'maxBytes': 300 * 1024 * 1024,
            'backupCount': 10,
            'formatter': 'verbose',
        },
    },
    #日志对象
    'loggers': {
        'django': {
            'handlers': ['console', 'file'],
            'propagate': True,
        },
    }
}

异常处理

最主要是续写rest_framework.views.exception_handler方法,自定义错误处理方法到utils.exceptions中,然后在dev.py中加入rest_framework配置申明

数据库配置

小型关系型数据库sqlite3
中小型关系型数据库mysql
我想用mysql,所以按照mac版mysql安装教程,成功安装。用下面的命令创建数据库:

mysql -u root -p
//显示所有数据库
show databases; 
//创建luffy数据库,必须指定编码
create database luffy charset=utf8mb4; 
use luffy;
//创建一个用户,名为luffy_user,密码为luffy
create user luffy_user identified by 'luffy';
//授权,luffy_user只能查看luffy数据库,保证数据库安全
grant all privileges on luffy.* to 'luffy_user'@'%';
//刷新权限
flush privileges;

不过要想在命令行中使用mysql,需要在~/.bash_profile中将msql的路径写进去:

export PATH=${PATH}:/usr/local/mysql/bin

数据库本身配置好之后,还要去django中配置数据库;在主目录的__init__.py中申明使用mysql:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '127.0.0.1',
        'PORT': 3306,
        'USER': 'luffy_user',
        'PASSWORD': 'luffy',
        'NAME': 'luffy',
    }
}

前端配置

创建前端项目目录

首先得安装vue,根据mac配置vue教程安装,成功
使用下面的命令创建vue项目:

//webpack是一个独立工具,提供编码转换、前端在运行过程中的工具
vue init webpack luffy_pc
cd luffy_pc
npm run dev

酱紫,前端项目就运行起来了
vue初始

初始化前端项目

在vue项目中,想要一个页面能够展示出来,他的流程为:

  1. 初始化路由对象,也就是router/index.js中的路由配置
  2. 在mian.js中,把router/index.js中export的路由注册到vue中去,这样vue才能看到我们设置的路由
  3. 在App.vue中添加路由,也就是添加
  4. 在components中创建我们需要的组件,并在router/index.js中配置访问组件的路径

至此,我们就能够按照路径访问我们想要的页面了。第1、2、3步通常只需要执行一次,后续添加组件只需要执行第4步的内容即可。

前端初始化全局变量和全局方法

main.js中存放的是全局变量和方法,引入额外的setting、引入element-ui都写进main.js中,这样全局就能看见。
我碰到一个极其恶心的问题,就是安装element-ui的时候,首先是版本出现了问题,看了一下npm的uninstall之类的用法,重新装了一个兼容element-ui的vue版本,说vue3还不支持element-ui。解决完上面的问题之后又出现了找不到element-ui里面的文件问题!!!找了好久,终于找到一个能正确解决的方法了。看了这么多方法,都是一个路子,而且里面描述的文字都是一个样,恶心啊,恶心。你说你看了别人的博文,你复制过去干嘛?关键的是人家的方法还有问题!恶心啊,恶心。能够正确解决的方案链接是这个https://blog.csdn.net/bdmh/article/details/115124619

全局样式

App.vue中存放的是全局样式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值