在PAW(PythonAnyWhere)上建立免費beginner帳戶,網址爲:
https://www.pythonanywhere.com/pricing/python
Dashboard
建立帳戶成功後,登陸帳戶,在頁面的右上角點擊Dashboard
進入相似於控制面板的頁面,在這裏,你將看到
「Consoles」、「Files」、「Web」、「Schedule」、「Databases」等標籤。mysql
在Consoles
標籤了點擊bash
,頁面會加載一個bash
終端,首先建立rango(django app)的虛擬環境git
$ mkvirtualenv rango
建立成功後,輸入端的前面會多出(rango)
標示,以下所示:github
(rango) 09:06 ~ $
命令deactivate
將退出虛擬環境,命令workon rango
將再次進入虛擬環境。web
利用pip
安裝在開發中用到的各類python第三方包,這裏我使用了以下命令:sql
(rango) 09:06 ~ $ pip install django (rango) 09:10 ~ $ pip install django-registration-redux
安裝略慢,由於你註冊的免費的beginner帳戶。數據庫
安裝成功後,接下來從github克隆你的項目至PAW。可是我以前根本沒有把項目放在github上,網上一番查找相關資料後,找到了git相關用法,很簡單,只須要如下簡單的步驟:django
在本地mac上,進入tango_with_django
的項目目錄(此目錄裏能找到manage.py
),鍵入:redux
⇒ git init
這樣就在此目錄裏建立了一個本地repository
,前提是你的電腦裏已經安裝了git
。瀏覽器
將此目錄的全部文件引用添加到git,命令爲:
⇒ git add --all
將添加的引用提交到本地repository
,命令爲:
⇒ git commit -m "the first time to add all files"
將本地repository
推送到github上面的repository
,首先須要登陸github的網頁,而後新建一個repository
,命名爲tango_with_django
,接着在本地電腦終端鍵入以下命令:
⇒ git remote add origin https://github.com/sass1s/tango_with_django.git ⇒ git push -u origin master
輸入第二條命令的時候,可能要求輸入你的github的帳戶和密碼。這樣,我就完成了將本地的repository推送到github的repository了。
回到PAW的終端,將github的repository
克隆到PAW的服務器裏,命令以下:
git clone https://sass1s:<password>@github.com/sass1s/tango_with_django.git
成功後,你將在~
目錄看到tango_with_django
的文件夾。
建立項目啓動前的一些命令,依次鍵入:
(rango) 09:47 ~/tango_with_django (master)$ python manage.py makemigrations (rango) 09:47 ~/tango_with_django (master)$ python manage.py migrate (rango) 09:47 ~/tango_with_django (master)$ python populate_rango.py
退出PAW的終端,點擊Web
標籤,進入後,點擊頁面左邊的Add a new web app
,點擊幾個next
,注意中途須要點擊manual configuration
,便可成功建立web app。此時,你在瀏覽器鍵入http://<username>.pythonanwhere.com後,會看到Hello, World!
的頁面。
建立web app成功後,在Web
標籤頁面會出現你建立的web app相關配置信息,我稱之爲項目管理頁面。在該頁面找到Virtualenv
,點擊Enter a path to a virtualenv, if desired
,替換成你本身的virtualenv
路徑,如:/home/<username>/.virtualenvs/rango
。
此處有個坑,若按照tango with django的教程,此處應爲:/home/<username>/.virtualenvs/rango/bin/activate_this.py
,但這是錯誤的配置方式,困擾了我好長時間。
在項目管理頁面找到WSGI configuration file: [/var/www/<username>_pythonanywhere_com_wsgi.py]
,點擊該py文件,只保留如下代碼,其他代碼刪除(或註釋掉):
# +++++++++++ DJANGO +++++++++++ # To use your own django app use code like this: import os import sys # ## assuming your django settings file is at '/home/<username>/mysite/mysite/settings.py' ## and your manage.py is is at '/home/<username>/mysite/manage.py' path = '/home/<username>/tango_with_django' if path not in sys.path: sys.path.append(path) # os.environ['DJANGO_SETTINGS_MODULE'] = 'tango_with_django_project.settings' # ## then, for django >=1.5: from django.core.wsgi import get_wsgi_application application = get_wsgi_application() ## or, for older django <=1.4 #import django.core.handlers.wsgi #application = django.core.handlers.wsgi.WSGIHandler()
此處還有個坑,不要仿照tango with django的教程寫入他的代碼,由於部分代碼過期了。以上代碼保存退出後,能夠重啓(Reload
)你的應用,一切順利的話,你就能夠在http://<username>.pythonanywhere.com/看到你的應用的頁面了。
在項目管理頁面找到Static files
,點擊Enter URL
,輸入/static/admin
,點擊對應的Enter path
,輸入/home/<username>/.virtualenvs/rango/lib/python2.7/site-packages/django/contrib/admin/static/admin
,以上步驟添加了admin
相關頁面的靜態文件;下面添加應用中的靜態文件,再次點擊Enter URL
,輸入/static/
,點擊對應的Enter path
,輸入/home/<username>/tango_with_django/static/
。
此處tango with django的教程還有個坑,它對應的/static/
的path
爲/home/<username>/tango_with_django/tango_with_django_project/static
,路徑中多了一個tango_with_django_project
,這也困擾了我好一下子。
以上一切順利的話,在你的網址http://<username>.pythonanywhere.com/中就能看到諸如圖片之類的東東了。
(1)導出本地數據庫
mysqldump -uroot -p <本地數據庫名> > 保存文件名.sql
(2)使用'git'或者在pythonanywhere上數據庫文件<保存文件名.sql>。
(3)進入pythonanywhere的mysql console,依次輸入
use <username>$<databasename>; source /home/<username>/<projectname>/<保存文件名.sql>
https://help.pythonanywhere.com/pages/UsingMySQL
https://help.pythonanywhere.com/pages/ImportingYourLocalDatabaseToPythonAnywhere