Django---子框架drf專案---路飛學城---前後端搭建
阿新 • • 發佈:2020-07-16
目錄
劉老師部落格
pip換源
永久配置安裝源
windows:
檔案管理器敲%APPDATA%,進去之後新建pip資料夾,建立pip.ini配置檔案,檔案內容:
[global] index-url = http://pypi.douban.com/simple [install] use-mirrors =true mirrors =http://pypi.douban.com/simple/ trusted-host =pypi.douban.com
虛擬環境搭建
#優點
1 使用不同應用開發環境相互獨立
2 環境升級不影響其他應用、不會衝突全域性的python環境
3 防止出現包管理混亂及版本衝突
windown:
#建議使用pip3安裝到python環境下
pip3 install virtualenv
pip3 install virtualenvwrapper-win
#建立資料夾D:\Virtualenvs
配置虛擬環境管理器工作目錄
#配置環境變數 # 控制面板 => 系統和安全 => 系統 => 高階系統設定 => 環境變數 => 系統變數 => 點選新建 => 填入變數名與值 變數名:WORKON_HOME 變數值:自定義存放虛擬環境的絕對路徑 eg: WORKON_HOME: D:\Virtualenvs #同步配置資訊 # 去向Python3的安裝目錄 => Scripts資料夾 => virtualenvwrapper.bat => 雙擊
使用
#終端命令 1 建立虛擬環境到配置的WORKON_HOME路徑下 mkvirtualenv -p python3 自定義的虛擬環境名稱(比如:luffy) 使用的是python3 mkvirtualenv -p python2 自定義的虛擬環境名稱(比如:luffy) 使用的是python2 2 檢視已有的虛擬環境 workon 3 使用虛擬環境 workon 已有的虛擬環境名稱(比如:luffy) 4 進入、退出該虛擬環境的Python環境 python、exit() 5 為虛擬環境安裝模組 pip install 模組名稱(比如:django==2.2) 6 退出當前虛擬環境 deactivate 7 刪除虛擬環境(刪除當前虛擬環境要先退出) rmvirtualenv
PyCharm的使用(使用虛擬環境)(我們使用這種方式,不建app)
新建專案
使用虛擬環境
環境使用
luffy後臺搭建
環境
#給虛擬環境luffy安裝依賴環境
pip install django==2.2
pip install djangorestframework
pip install pymysql
建立專案(我們前面已經用PyCharm建立好了)
在目標目錄下建立luffy資料夾
cd 進入luffy專案
django-admin startproject luffyapi
用PyCharm開啟專案,使用已經建好的虛擬環境
重構專案目錄
luffyapi
-logs #專案執行時/開發時的日誌目錄
-manage.py #指令碼檔案
-scripts #儲存專案運營時的指令碼檔案
-luffyapi #專案的主應用,開發時的程式碼儲存
-utils(包帶__init__.py)公共函式庫
-urls.py #總路由
-apps(包帶__init__.py) #子應用儲存目錄
-libs #第三方類庫的儲存目錄
-settings(包帶__init__.py) #配置目錄
-dev.py #專案開發時的本地配置
-prod.py #專案上線時的執行配置
建立doc資料夾、建立readme.md檔案
終端下建立兩個應用到apps
cd 到apps目錄下
python ../../manage.py startapp home
python ../../manage.py startapp user
因為manage.py在根目錄,所以需要../../到根目錄去用該檔案
配置開發環境
1 把settings.py內容複製到dev.py,原來的settings.py刪除
2 #修改下面兩檔案
# manage.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE','luffyapi.settings.dev')
# wsgi.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE','luffyapi.settings.dev')#本地使用.dev,後面修改為.prod即可
3 修改dev.py檔案內容(錯誤資訊改成中文)
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = False
4 修改啟動配置
看下圖
5 把apps做成Sources Root看圖2
資料庫配置
建立專案依賴資料庫,luffyapi
create database luffyapi;
建立資料庫使用者,授予使用luffyapi資料庫的權利
grant all privileges on luffyapi.* to 'luffyapi'@'localhost' identified by '123?';
---上面命令指:建立使用者luffyapi授予使用luffyapi資料庫使用權,使用者密碼是123
重新整理許可權
flush privileges;
#配置檔案配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'luffy',
'USER': 'luffy',
'PASSWORD': 'Luffy123?',
'HOST': 'localhost',
'PORT': 3306
}
}
import pymysql
pymysql.install_as_MySQLdb()
django2.x版本可能會出現一些pymysql相容問題,按報錯註釋、修改原始碼即可
User表配置
匯入from django.contrib.auth.models import AbstractUser
繼承user之前不要資料遷移命令,會出錯,需要:
-把所有app下的遷移檔案,全刪除
-admin,auth app下的遷移檔案刪除
-刪庫(資料一定要匯出來),重新遷移 (自己嘗試一下)
繼承AbstractUser,增加兩個欄位,mobilephone、icon,
mobilephone = models.CharField(max_length=11)
icon = models.ImageField(upload_to='icon',default='media/default.png')
在settings.py中配置
MEDIA_URL='/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'media')
#此時的BASE_DIR是luffyapi下的luffyapi
路由開放media資料夾,訪問頭像,需要匯入
from django.views.static import serve
from django.conf import settings
re_path('media/(?P<path>.*)', serve{'document_root':settings.MEDIA_ROOT}),
路飛前臺搭建
1 安裝node.js,官網下載,一路下一步
檢視版本node -v
2 安裝模組,npm比較慢,用淘寶的cnpm來替換npm
npm install -g cnpm --registry=https://registry.npm.taobao.org
3 建立vue的工程,需要一個vue腳手架
cnpm install -g @vue/cli
4 如果有問題執行如下,重走2、3步
npm cache clean --force
5 建立vue專案
vue create 自定義專案名(我們用luffycity)
選Manually
6 用pycharm開啟,配置快鍵啟動
看下圖
目錄介紹
public
-favicon.ico #
-index.html #整個專案的單頁面
src
-assets #靜態檔案,js,css,img
-components # 小元件,頭部元件,尾部元件
-router # 路由相關
-store # vuex相關,狀態管理器,臨時儲存資料的地方
-views # 頁面元件
-App.vue # 根元件
-main.js # 配置檔案(跟django的setting一樣
#任何一個元件都有三部分,裡面書寫相關程式碼
<template>
#html相關
</template>
<style>
# css相關
</style>
<script>
# js相關
</script>