在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