简易博客开发----django1.9 博客部署到pythonanywhere上

Posted ❦邪恶毅小人❦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简易博客开发----django1.9 博客部署到pythonanywhere上相关的知识,希望对你有一定的参考价值。

准备工作

首先需要注册一下,pythonanywhere的免费账户有一定的限制,只能创建一个web app,不能绑定独立域名,不能通过ssh连接,不过只是搭一个project也是够用了。

注册成功之后直接转到dashboard页面

技术分享

几个tab,Console是新建一个控制台,用于操作服务器,Files是用文件目录的形式管理和编辑文件,Web是总的控制界面,Schedule和Database目前还没用上。

上面这个绿色块的提示基本上一直都在然而并没有什么卵用,转到Web栏

技术分享

选择Add a new web app

技术分享

提示不能绑定域名blabla的不用管直接next

技术分享

python的框架有好几个可以选,但是选django的话有一个很捉急的地方

技术分享

我用的是python2.7+django1.7,在这根本对不上,不过下面有一行贴心的提示,可以使用虚拟环境搭配任意版本的python和django,链接戳进去有比较详细的虚拟机配置最新版django的教程,于是就决定用最后一个Manual configuration

技术分享

创建完成之后,现在有了一个空的web app,啥都没有= =

技术分享

环境配置

接下来可以进行第二步了,在console面板里打开一个Bash控制台

技术分享

之后看上去是这样子的

技术分享

这里有必要先说明一下这个服务器的文件系统,当然在File面板也可以看到 
在/home/Username/目录下是这样的

技术分享

django project的包要放在用户目录下,然后通过WSGI configuration file一堆配置blabla才能跑起来 
首先跟着上面提到的教程弄好虚拟环境安装好django,直接安装成1.8版本的了- -

技术分享

安装完之后可以用django的命令新建自己的project,在这里我直接用git clone下来放在用户文件夹下。

这个时候兴冲冲打开链接,发现是这样的

技术分享

说好的django呢。。。 
在web面板注意到这个

技术分享

想到可能是因为用的虚拟环境需要设置一下 
按照示例的格式填进去就好,大概是这样的格式:

/home/{username}/.virtualenvs/{envname}

技术分享

于是后来是这样的

技术分享

然后还不忘按照提示reload一遍 
刷新了一下,还是原样= =继续找问题 
这个配置文件可以说是最关键的一步

技术分享

打开里面都是各种框架的配置,需要哪个框架就把前面相关的注释去掉。 
下拉到django的位置

技术分享

去掉注释和修改相应的文件夹名字,尤其注意settings.py在哪个文件夹下就填到哪个文件夹为止,于是填完是这样的

技术分享

因为我的文件夹目录是这样的

技术分享

这时候再reload加刷新一遍,可以看到django。。。熟悉的debug界面了。。。

技术分享

事实上今天到这一步的时候我已经在狂喜了,因为终于跑起来了= = 
至于这个bug也是喜闻乐见,在挂SAE的时候就遇到过,因为用到了beautifulsoup这个第三方库,SAE里面是没办法只能把整个库传上去,在这里只要

pip install beautifulsoup4
  • 1

安装一下就好了,4.3.2版本 
这个时候再刷新一下,OK,成功了

技术分享

bug

事实上并没这么顺利。。。我至少面对某个错误界面十几次找不到问题在哪,后来发现web面板有日志选项

技术分享

在error.log里面找bug,先后出现了以下几种

技术分享

文件夹名没改好= =

技术分享

可能是django版本还是什么问题,在settings里面把这一行注释掉之后就好了。

技术分享

这个问题一度让我觉得智商捉急,我以为不能出现sys,于是把代码里所有有关sys的全删掉了,最后才发现是pythonanwhere的wsgi模块里面有一个import sys我忘了去掉注释,导致没导入sys模块(:з」∠)神坑啊

技术分享

路径问题,配置的时候已经说过

总之并不顺利,不过在折腾的过程中也收获了不少。 
总有一天我要把openshift拿下QWQ

更新: 
因为忘了续费导致服务器挂掉两次每次都要重新配置,记一下static路径的格式:

/static/: /home/zhufree/sample/static/

#基本静态文件

/static/admin/: /home/zhufree/.virtualenvs/django17/lib/python2.7/site-packages/django/contrib/admin/static/admin/

#django管理系统的静态文件

以上是关于简易博客开发----django1.9 博客部署到pythonanywhere上的主要内容,如果未能解决你的问题,请参考以下文章

Django1.9开发博客(13)- redis缓存

Django开发博客 入门篇

Flask+mongodb 实现简易个人博客

Django1.9:没有模型匹配给定的查询

全站之路一路坑——在Apache下部署django博客

php博客系统开发并部署到腾讯云服务器