在PythonAnyWhere上部署Django项目
2017-12-11 00:00
357 查看
摘要:准备:python+git
https://www.pythonanywhere.com/pricing/
2.进入
创建账户成功后,登录账户,在页面的右上角点击Dashboard进入类似于控制面板的页面,在这里,你将看到
“Consoles”、“Files”、“Web”、“Schedule”、“Databases”等标签。
Consoles标签了点击bash,页面会加载一个bash终端,首先创建rango(djangoapp)的虚拟环境
创建成功后,输入端的前面会多出(rango)标示,如下所示:
命令deactivate将退出虚拟环境,命令workonrango将再次进入虚拟环境。
pip安装在开发中用到的各种python第三方包,这里我使用了如下命令:
安装略慢,因为你注册的免费的beginner账户。
tango_with_django的项目目录(此目录里能找到manage.py),键入:
这样就在此目录里创建了一个本地repository,前提是你的电脑里已经安装了git。
repository,命令为:
repository推送到github上面的repository,首先需要登录github的网页,然后新建一个repository,命名为tango_with_django,接着在本地电脑终端键入如下命令:
输入第二条命令的时候,可能要求输入你的github的账户和密码。这样,我就完成了将本地的repository推送到github的repository了。
repository克隆到PAW的服务器里,命令如下:
成功后,你将在~目录看到tango_with_django的文件夹。
Web标签,进入后,点击页面左边的Addanewwebapp,点击几个next,注意中途需要点击manualconfiguration,即可成功创建webapp。此时,你在浏览器键入http://<username>.pythonanwhere.com后,会看到Hello,World!的页面。
Web标签页面会出现你创建的webapp相关配置信息,我称之为项目管理页面。在该页面找到Virtualenv,点击Enterapathtoavirtualenv,ifdesired,替换成你自己的virtualenv路径,如:/home/<username>/.virtualenvs/rango。
此处有个坑,若按照tangowithdjango的教程,此处应为:/home/<username>/.virtualenvs/rango/bin/activate_this.py,但这是错误的配置方式,困扰了我好长时间。
WSGIconfigurationfile:[/var/www/<username>_pythonanywhere_com_wsgi.py],点击该py文件,只保留以下代码,其余代码删除(或注释掉):
#+++++++++++DJANGO+++++++++++
#Touseyourowndjangoappusecodelikethis:
importos
importsys
#
##assumingyourdjangosettingsfileisat'/home/<username>/mysite/mysite/settings.py'
##andyourmanage.pyisisat'/home/<username>/mysite/manage.py'
path='/home/<username>/tango_with_django'
ifpathnotinsys.path:
sys.path.append(path)
#
os.environ['DJANGO_SETTINGS_MODULE']='tango_with_django_project.settings'
#
##then,fordjango>=1.5:
fromdjango.core.wsgiimportget_wsgi_application
application=get_wsgi_application()
##or,forolderdjango<=1.4
#importdjango.core.handlers.wsgi
#application=django.core.handlers.wsgi.WSGIHandler()
此处还有个坑,不要仿照tangowithdjango的教程写入他的代码,因为部分代码过时了。以上代码保存退出后,可以重启(Reload)你的应用,一切顺利的话,你就可以在http://<username>.pythonanywhere.com/看到你的应用的页面了。
Staticfiles,点击EnterURL,输入/static/admin,点击对应的Enterpath,输入/home/<username>/.virtualenvs/rango/lib/python2.7/site-packages/django/contrib/admin/static/admin,以上步骤添加了admin相关页面的静态文件;下面添加应用中的静态文件,再次点击EnterURL,输入/static/,点击对应的Enterpath,输入/home/<username>/tango_with_django/static/。
此处tangowithdjango的教程还有个坑,它对应的/static/的path为/home/<username>/tango_with_django/tango_with_django_project/static,路径中多了一个tango_with_django_project,这也困扰了我好一会儿。
以上一切顺利的话,在你的网址http://<username>.pythonanywhere.com/中就能看到诸如图片之类的东东了。
(2)使用'git'或者在pythonanywhere上数据库文件<保存文件名.sql>。
(3)进入pythonanywhere的mysqlconsole,依次输入
https://help.pythonanywhere.com/pages/UsingMySQL
https://help.pythonanywhere.com/pages/ImportingYourLocalDatabaseToPythonAnywhere
具体的部署过程:
1.创建账户
在PAW(PythonAnyWhere)上创建免费beginner账户,网址为:2.进入Dashboard
创建账户成功后,登录账户,在页面的右上角点击“Consoles”、“Files”、“Web”、“Schedule”、“Databases”等标签。
3.启动终端,创建虚拟环境
在$mkvirtualenvrango
创建成功后,输入端的前面会多出
(rango)09:06~$
命令
4.安装依赖包
利用(rango)09:06~$pipinstalldjango
(rango)09:10~$pipinstalldjango-registration-redux
安装略慢,因为你注册的免费的beginner账户。
5.上传项目代码至服务器
安装成功后,接下来从github克隆你的项目至PAW。但是我之前根本没有把项目放在github上,网上一番查找相关资料后,找到了git相关用法,很简单,只需要以下简单的步骤:5.1创建本地git仓库
在本地mac上,进入⇒gitinit
这样就在此目录里创建了一个本地
5.2添加文件引用
将此目录的所有文件引用添加到git,命令为:⇒gitadd--all
5.3提交文件引用
将添加的引用提交到本地⇒gitcommit-m"thefirsttimetoaddallfiles"
5.4推送项目至github远程仓库
将本地⇒gitremoteaddoriginhttps://github.com/sass1s/tango_with_django.git⇒gitpush-uoriginmaster
输入第二条命令的时候,可能要求输入你的github的账户和密码。这样,我就完成了将本地的repository推送到github的repository了。
5.5克隆github仓库至PAW服务器
回到PAW的终端,将github的gitclonehttps://sass1s:<password>@github.com/sass1s/tango_with_django.git
成功后,你将在
6.创建数据
创建项目启动前的一些命令,依次键入:(rango)09:47~/tango_with_django(master)$pythonmanage.pymakemigrations
(rango)09:47~/tango_with_django(master)$pythonmanage.pymigrate
(rango)09:47~/tango_with_django(master)$pythonpopulate_rango.py
7.创建webapp
退出PAW的终端,点击8.配置Virtualenv
创建webapp成功后,在此处有个坑,若按照tangowithdjango的教程,此处应为:
9.配置WSGI代码
在项目管理页面找到#Touseyourowndjangoappusecodelikethis:
importos
importsys
#
##assumingyourdjangosettingsfileisat'/home/<username>/mysite/mysite/settings.py'
##andyourmanage.pyisisat'/home/<username>/mysite/manage.py'
path='/home/<username>/tango_with_django'
ifpathnotinsys.path:
sys.path.append(path)
#
os.environ['DJANGO_SETTINGS_MODULE']='tango_with_django_project.settings'
#
##then,fordjango>=1.5:
fromdjango.core.wsgiimportget_wsgi_application
application=get_wsgi_application()
##or,forolderdjango<=1.4
#importdjango.core.handlers.wsgi
#application=django.core.handlers.wsgi.WSGIHandler()
此处还有个坑,不要仿照tangowithdjango的教程写入他的代码,因为部分代码过时了。以上代码保存退出后,可以重启(
10.配置静态文件
在项目管理页面找到此处tangowithdjango的教程还有个坑,它对应的
以上一切顺利的话,在你的网址http://<username>
11.导入数据库
(1)导出本地数据库mysqldump-uroot-p<本地数据库名>>保存文件名.sql
(2)使用'git'或者在pythonanywhere上数据库文件<保存文件名.sql>。
(3)进入pythonanywhere的mysqlconsole,依次输入
use<username>$<databasename>;
source/home/<username>/<projectname>/<保存文件名.sql>
参考资料:
相关文章推荐
- Ubuntu虚拟机部署python3.6+Django1.11项目
- Linux下将Python的Django项目部署到Apache服务器
- 全面剖析Python的Django框架中的项目部署技巧第1/2页
- Linux下将Python的Django项目部署到Apache服务器
- Ubuntu系统使用apache部署多个django项目(python4.3)
- 在window上部署python Django项目 采用apache+mod_wsgi方案
- Linux+Django+Python+Wsgi配置过程 Linux下配置Apache+Mod_Wsgi+Django环境 部署django项目
- django项目部署-python服务器搭建
- python使用Visual Studio 2015作为IDE开发django项目的环境部署
- 在Pythonanywhere上部署Django
- python的django项目uwsgi+nginx的部署
- Centos7+django1.11+ngnix+uwsgi+python3.6项目部署
- Python_uWSGI部署的Django项目找不到static里面的静态文件
- 简易博客开发(8)----django1.9 博客部署到pythonanywhere上
- Python3 开发以及部署 RESTful API项目(Python3 + Django2.0 + Django REST FrameWork + Centos7 + uWsgi + Nginx
- 从零开始自动部署Django项目(二):使用Python编写Git Hooks
- 在Pythonaywhere上部署我的Django项目
- Python3.4+Nginx+Django1.8+Mysql5.5项目开发与部署
- 实用Always up做python django项目部署
- apache2.4+python2.7+mod wsgi部署django1.10项目