摘要:在執(zhí)行部署網(wǎng)站之前,應(yīng)該先處理好前期工作,比如對(duì)文件進(jìn)行設(shè)置以防止私密信息泄露等。本文只是簡(jiǎn)單的筆記,原文地址為將項(xiàng)目發(fā)布到申請(qǐng)免費(fèi)的賬號(hào)網(wǎng)址免費(fèi)的賬號(hào)只能建一個(gè)站。其中代表注冊(cè)賬戶時(shí)所用的用戶名。站點(diǎn)只能維持個(gè)月,個(gè)月后就會(huì)被刪除。
在執(zhí)行部署Django網(wǎng)站之前,應(yīng)該先處理好前期工作,比如對(duì)settings.py文件進(jìn)行設(shè)置以防止私密信息泄露等。本文只是簡(jiǎn)單的筆記,原文地址為:https://tutorial.djangogirls....
1, 將Django項(xiàng)目發(fā)布到GitHub
2, 申請(qǐng)免費(fèi)的PythonAnyWhere賬號(hào)
網(wǎng)址:https://www.pythonanywhere.com/
免費(fèi)的賬號(hào)只能建一個(gè)站。站名只能為XXX.pythonanywhere.com。其中XXX代表注冊(cè)賬戶時(shí)所用的用戶名。站點(diǎn)只能維持2個(gè)月,2個(gè)月后就會(huì)被刪除。
3, 將GitHub上的項(xiàng)目發(fā)送至PythonAnyWhere
3.1 在PythonAnyWhere中,點(diǎn)擊 “Consoles” –> start a “Bash” console
這個(gè)Bash是類似于Linux系統(tǒng)里的“終端”。
3.2 在這個(gè)新建的Bash里面輸入:
注意:如下代碼表示需要在PythonAnyWhere的Bash中執(zhí)行??!
$ git clone https://github.com//my-first-blog.git
這個(gè)步驟將GitHub的項(xiàng)目發(fā)送到PythonAnyWhere。注意上面的這個(gè)鏈接就是GitHub里項(xiàng)目的倉(cāng)庫(kù)地址:
Bash的響應(yīng)非常慢,需要耐心等候。
發(fā)送完成后可以使用下面的代碼來看被復(fù)制到PythonAnyWhere的文件目錄結(jié)構(gòu),需要強(qiáng)調(diào)的是,這個(gè)my-first-blog即為GitHub里的倉(cāng)庫(kù)的項(xiàng)目名字。
注意:如下代碼表示需要在PythonAnyWhere的Bash中執(zhí)行??!
tree my-first-blog
4, 為PythonAnyWhere里的項(xiàng)目創(chuàng)建virtual environment
繼續(xù)在PythonAnyWhere的Bash里執(zhí)行下面的命令,以創(chuàng)建一個(gè)名為myvenv的虛擬環(huán)境。
注意:如下代碼表示需要在PythonAnyWhere的Bash中執(zhí)行!!
$ cd my-first-blog $ virtualenv --python=python3.5 myvenv $ source myvenv/bin/activate (myvenv) $ pip install django==1.10.0
上面的python和django版本號(hào)僅供參考!
5, 為PythonAnyWhere里的項(xiàng)目創(chuàng)建數(shù)據(jù)庫(kù)并創(chuàng)建超級(jí)賬戶
注意:如下代碼表示需要在PythonAnyWhere的Bash中執(zhí)行??!
(myvenv) $ python manage.py migrate (myvenv) $ python manage.py createsuperuser
6, 將Django項(xiàng)目作為Web App發(fā)布
到這里,我們的Django項(xiàng)目已經(jīng)在PythonAnyWhere上了,虛擬環(huán)境也準(zhǔn)備好了,數(shù)據(jù)庫(kù)也創(chuàng)建好了,此時(shí)就可以將它作為Web App發(fā)布了!在PythonAnyWhere里,點(diǎn)擊 “Web”選項(xiàng)卡 -> 點(diǎn)擊 “Add a new web app”
-> 確認(rèn)域名 -> 選擇manual configuration(注意不是選擇“Django”哦) -> 選擇Python3.5 -> 點(diǎn)擊Next以最終完成向?qū)А?/p>
7, 配置Web App的虛擬環(huán)境
創(chuàng)建好了Web App之后,PythonAnyWhere就會(huì)將你帶到該Web App的配置界面,點(diǎn)擊Virtualenv下面紅色的字體來編輯虛擬環(huán)境的位置,如下圖所示:
將地址修改為:
/home/<你的PythonAnyWhere的賬戶名>/my-first-blog/myvenv
注意:上面的my-first-blog為GitHub里的項(xiàng)目的倉(cāng)庫(kù)地址。
注意:上面的myvenv是該創(chuàng)建的虛擬環(huán)境的名字
8, 配置PythonAnyWhere里的WSGI文件
仍然是在Web選項(xiàng)卡,點(diǎn)擊WSGI configuration file后面的藍(lán)色字體連接(如下圖所示)。
PythonAnyWhere將帶我們到一個(gè)新的頁(yè)面(一個(gè)代碼編輯器),將編輯器的代碼全部用下面的代碼替換。
import os import sys path = "/home/<你的PythonAnyWhere用戶名>/my-first-blog" # 在這里使用你自己的用戶名和GitHub項(xiàng)目的名字。 if path not in sys.path: sys.path.append(path) os.environ["DJANGO_SETTINGS_MODULE"] = "mysite.settings" # 在這里mysite請(qǐng)用settings所在文件夾名,我用的是和GitHub倉(cāng)庫(kù)名一樣的名字 from django.core.wsgi import get_wsgi_application from django.contrib.staticfiles.handlers import StaticFilesHandler application = StaticFilesHandler(get_wsgi_application())
點(diǎn)擊 “Save” -> 返回Web選項(xiàng)卡 -> 點(diǎn)擊大大的綠色按鈕“Reload”。此時(shí)我們就可以通過Web選項(xiàng)卡上提供的地址(也就是XXX.pythonanywhere.com)訪問了!這樣我們的網(wǎng)站就真正在互聯(lián)網(wǎng)上存在了,雖然只有兩個(gè)月的有效期:-(
9, Debug
在配置過程中,難免會(huì)出錯(cuò)導(dǎo)致站點(diǎn)無(wú)法成功發(fā)布。首先應(yīng)該:
查看出錯(cuò)頁(yè)面顯示的error log
查看Web選項(xiàng)卡頁(yè)面有無(wú)任何錯(cuò)誤提示
常見的錯(cuò)誤包括:
在PythonAnyWhere的Bash漏了創(chuàng)建virtualenv,激活它,給它安裝Django,給它初始化數(shù)據(jù)庫(kù)
第7步設(shè)置虛擬環(huán)境的路徑是時(shí)有錯(cuò)誤
第8步配置WSGI時(shí)有錯(cuò)誤,是否填入正確的path了呢?
安裝虛擬環(huán)境時(shí)選擇的Python版本和創(chuàng)建Web App時(shí)選擇的Python是否都是同一版本?
10, 如何將GitHub里項(xiàng)目的修改反饋到PythonAnyWhere?
項(xiàng)目又要修改的時(shí)候,通常是在本地計(jì)算機(jī)修改,修改好之后發(fā)布到GitHub,之后發(fā)布到PythonAnyWhere。當(dāng)GitHub里項(xiàng)目修改好之后,在PythonAnyWhere的Bash里面輸入下面兩行代碼就可以同步了:
注意:如下代碼表示需要在PythonAnyWhere的Bash中執(zhí)行??!
cd my-first-blog git pull
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/38614.html
摘要:不過因?yàn)楦鱾€(gè)平臺(tái)互相挖人的關(guān)系,導(dǎo)致關(guān)注的一些主播分散到了各個(gè)直播平臺(tái),來回切換有點(diǎn)麻煩,所以萌生了做一個(gè)視頻聚合站的想法。后續(xù)我們會(huì)對(duì)這三個(gè)部分的功能做逐一展開說明。正則處理要求比較高,但是幾乎能應(yīng)對(duì)所有的情況,屬于大殺器。 前言 作為一個(gè)爐石傳說玩家,經(jīng)常有事沒事開著直播網(wǎng)站看看大神們的精彩表演。不過因?yàn)楦鱾€(gè)平臺(tái)互相挖人的關(guān)系,導(dǎo)致關(guān)注的一些主播分散到了各個(gè)直播平臺(tái),來回切換有點(diǎn)麻...
摘要:目前就職于,他在各種演講研討會(huì)和開發(fā)者大會(huì)上積極推廣測(cè)試驅(qū)動(dòng)開發(fā)。問很多敏捷教練都表示訓(xùn)練新人做測(cè)試驅(qū)動(dòng)開發(fā)是一件辛苦而進(jìn)度緩慢的事,并且收益也不是很大。首先是開發(fā)的對(duì)話式風(fēng)格。第一個(gè)問題就是測(cè)試套件的速度。 Harry J.W. Percival目前就職于PythonAnywhere,他在各種演講、研討會(huì)和開發(fā)者大會(huì)上積極推廣測(cè)試驅(qū)動(dòng)開發(fā)(TDD)。他在利物浦大學(xué)獲得計(jì)算機(jī)科學(xué)碩士學(xué)...
摘要:目前就職于,他在各種演講研討會(huì)和開發(fā)者大會(huì)上積極推廣測(cè)試驅(qū)動(dòng)開發(fā)。問很多敏捷教練都表示訓(xùn)練新人做測(cè)試驅(qū)動(dòng)開發(fā)是一件辛苦而進(jìn)度緩慢的事,并且收益也不是很大。首先是開發(fā)的對(duì)話式風(fēng)格。第一個(gè)問題就是測(cè)試套件的速度。 Harry J.W. Percival目前就職于PythonAnywhere,他在各種演講、研討會(huì)和開發(fā)者大會(huì)上積極推廣測(cè)試驅(qū)動(dòng)開發(fā)(TDD)。他在利物浦大學(xué)獲得計(jì)算機(jī)科學(xué)碩士學(xué)...
閱讀 3116·2023-04-25 16:50
閱讀 921·2021-11-25 09:43
閱讀 3532·2021-09-26 10:11
閱讀 2529·2019-08-26 13:28
閱讀 2542·2019-08-26 13:23
閱讀 2433·2019-08-26 11:53
閱讀 3577·2019-08-23 18:19
閱讀 3000·2019-08-23 16:27