luffy專案環境搭建
阿新 • • 發佈:2020-07-16
安裝虛擬環境的步驟
virtualenv
下載與配置
pip install virtualenv
pip install virtualenvwrapper-win
WORKON_HOME
的設定
效果測試
同步配置資訊
去python的安裝目錄下的Scripts資料夾雙擊virtualenvwrapper.bat檔案
linux
下配置:
# 安裝 virtualenv pip install virtualenv pip install virtualenvwrapper # 找到virtualenvwrapper.sh檔案 [root@alisurpass bin]# cp virtualenvwrapper.sh /usr/local/bin/ # 建立虛擬環境工作目錄 mkdir -p ~/.virtualenvs cd ~/.virtualenvs vim .bashrc export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python source export WORKON_HOME=$HOME/.virtualenvs source .bashrc
建立虛擬環境
mkvirtualenv -p python luffy # 檢視所有的虛擬環境 workon # 進入虛擬環境 workon luffy # pip安裝包 (luffy) [root@alisurpass ~]# pip install django==2.2.14 (luffy) [root@alisurpass ~]# pip install pymysql (luffy) [root@alisurpass ~]# pip install djangorestframework==3.11.0 (luffy) [root@alisurpass ~]# pip install djangorestframework-jwt==1.11.0 (luffy) [root@alisurpass ~]# pip install django-filter==2.3.0
pip換源
- windows換源
# 國內常用的源
阿里源:https://mirrors.aliyun.com/pypi/simple
豆瓣源:https://pypi.douban.com/simple
清華源:https://pypi.tuna.tsinghua.edu.cn/simple
# 快速安裝包的命令使用
pip install -i https://mirrors.aliyun.com/pypi/simple pymysql(模組名)
- linux換源
cd ~/
mkdir .pip
cd .pip
vim touch.conf
配置
[global] index-url = http://pypi.douban.com/simple [install] use-mirrors =true mirrors =http://pypi.douban.com/simple/ trusted-host =pypi.douban.com
基於虛擬環境建立後端專案
pycharm建立django專案
後臺專案目錄的調整
- 建立專案執行儲存日誌資料夾(logs)
F:\web\luffy\luffyapi>mkidr logs
- 在
luffyapi
包下建立apps
的包
- 在
luffyapi
包下建立libs
( 放第三方類庫)
- 在
luffyapi
包下建立settings
資料夾
settings資料夾下包含兩套配置檔案,一個是專案開發階段(dev.py),另外一個是專案上線(或測試)階段(pro.py)
- 將原來settings.py檔案中的配置資訊拷貝至dev.py中
# 刪掉原有的settings.py檔案,啟動發現後會報錯
修改manage.py
的配置
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.dev')
專案上線階段走的不是manage.py
,而是uwsgi.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.pro')
- 修改
dev.py
配置檔案中的內容
國際化
- 在根目錄下新建scripts資料夾
scripts下放置指令碼檔案
建立APP
(luffyapi) F:\web\luffy\luffyapi\luffyapi>cd apps
(luffyapi) F:\web\luffy\luffyapi\luffyapi\apps>python ../../manage.py startapp user
(luffyapi) F:\web\luffy\luffyapi\luffyapi\apps>python ../../manage.py startapp home
註冊APP
# 在dev.py檔案中將BASE_DIR加入環境變數
import os
import sys
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 將BASE_DIR加到系統的環境變數中
sys.path.insert(0, BASE_DIR)
# 將apps的路徑加入到系統環境變數中
sys.path.insert(1, os.path.join(BASE_DIR, 'apps'))
- 將
apps
設定為Sources Root
匯入包不會飄紅,但是apps
必須在環境變數中。
資料庫配置
-
建立資料庫
luffyapi
mysql> create database luffyapi; Query OK, 1 row affected (0.00 sec)
-
建立專案使用者
# 檢視mysql資料庫中的使用者 mysql> select user,host,password from mysql.user; # 建立使用者,並且授予相應資料庫的許可權 grant all privileges on luffyapi.* to 'luffyapi'@'%' identified by 'surpass@123'; grant all privileges on luffyapi.* to 'luffyapi'@'localhost' identified by 'surpass@123'; # 重新整理一下許可權 flush privileges;
資料庫連線測試
-
修改dev.py配置檔案
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'luffyapi', 'USER': 'luffyapi', 'PASSWORD': 'surpass@123', 'HOST': '127.0.0.1', 'PORT': 3306, 'CHARSET': 'utf8', } } # 後期可以將資料庫的配置資訊寫入到系統環境變數中 password = sys.path.get('mysql_pass','123456') import pymysql # 換成pymysql pymysql.install_as_MySQLdb()
django2.0.7
以上的版本需要改原始碼# 將base.py的第35行和第36行程式碼進行註釋 # if version < (1, 3, 13): # raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__) # 將perations.py的第146行的decode換成encode if query is not None: # query = query.decode(errors='replace') query = query.encode(errors='replace') return query
User表的配置
# 基於auth的user表,必須在執行資料庫遷移命令前操作
# 若出錯了,解決方案如下:
-把所有app下的遷移檔案,全刪除
-admin,auth app下的遷移檔案刪除
-刪庫(資料一定要匯出來),重新遷移 (自己嘗試一下)
- 擴充套件user表
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
telephone = models.CharField(max_length=11,verbose_name='手機')
icon = models.ImageField(upload_to='icon',default='icon/default.png',verbose_name='頭像')
# div.py中配置
AUTH_USER_MODEL = 'user.user' # 應用名+表名
- 配置media
# dev.py
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media') # 現在的media在luffyapi下的luffyapi中
# 總路由urls.py中
from django.contrib import admin
from django.urls import path, re_path
from django.views.static import serve
from django.conf import settings
urlpatterns = [
path('admin/', admin.site.urls),
re_path('media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT}),
]
路飛前臺搭建
#1 安裝node,官網下載,一路下一步
node -v
v10.16.3
#2 安裝模組
npm install 模組名 #npm比較慢,用淘寶的cnpm來替換npm
#3 npm install -g cnpm --registry=https://registry.npm.taobao.org
#4 建立vue的工程(需要一個vue腳手架)
cnpm install -g @vue/cli
#5 如果出問題執行如下,重新走3,4
npm cache clean --force
#5 命令列下敲
vue 就會有提示
# 6 建立vue專案
vue create luffycity
選Manually
#7 用pycharm開啟
在terminal下敲:npm run serve
#8 配置pycharm
NO改成yes
前端目錄介紹
-public
-favicon.ico
-index.html # 整個專案的單頁面
-src
-assets # 存放靜態檔案,js,css,image
-components # 小元件,頭部元件以及尾部元件
-router # 路由相關
-store # vuex相關,狀態管理器,臨時儲存資料的地方
-views # 頁面元件
—App.vue # 根元件
-main.js # 配置檔案(跟django的setting一樣)
#任何一個元件都有三部分
<template>
#html相關
</template>
<style>
# css相關
</style>
<script>
# js相關
</script>