简易博客开发(8)----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管理系统的静态文件
简易博客开发(8)----django1.9 博客部署到pythonanywhere上的更多相关文章
- Django个人博客开发 | 前言
本渣渣不专注技术,只专注使用技术,不是一个资深的coder,是一个不折不扣的copier 1.前言 自学 Python,始于 Django 框架,Scrapy 框架,elasticsearch搜索引擎 ...
- django 简易博客开发 1 安装、创建、配置、admin使用
首先贴一下项目地址吧 https://github.com/goodspeedcheng/sblog 到现在位置项目实现的功能有: 1.后台管理使用Admin ,前端显示使用bootstrap 2. ...
- django 简易博客开发 5 markdown支持、代码高亮、gravatar头像服务
上一篇博客介绍了comments库使用及ajax支持,现在blog已经具备了基本的功能,但是只能发表文字,不支持富文本编辑.今天我们利用markdown添加富文本支持. markdown语法说明: h ...
- django 简易博客开发 4 comments库使用及ajax支持
首先还是贴一下源代码地址 https://github.com/goodspeedcheng/sblog 上一篇文章我们介绍了静态文件使用以及如何使用from实现对blog的增删改,这篇将介绍如何给 ...
- django 简易博客开发 3 静态文件、from 应用与自定义
首先还是贴一下源代码地址 https://github.com/goodspeedcheng/sblog 上一篇博客我们介绍了 django 如何在views中使用templates以及一些常用的数 ...
- django 简易博客开发 2 模板和数据查询
首先还是贴一下项目地址 https://github.com/goodspeedcheng/sblog 因为代码全在上面 上一篇博客我们介绍了 django的安装配置,新建project,新建a ...
- Padrino 博客开发示例
英文版出处:http://www.padrinorb.com/guides/blog-tutorial 楼主按 拿作者自己的话说:Padrino(谐音:派骓诺)是一款基于Sinatra的优雅的Web应 ...
- Django博客开发实践,初学者开发经验
python,Django初学者,开发简易博客,做了一下笔记,记录了开发的过程,功力浅薄,仅供初学者互相 交流,欢迎意见建议.具体链接:Django博客开发实践(一)--分析需求并创建项目 地址:ht ...
- Django 博客开发教程目录索引
Django 博客开发教程目录索引 本项目适合 0 基础的 Django 开发新人. 项目演示地址:Black & White,代码 GitHub 仓库地址:zmrenwu/django-bl ...
随机推荐
- Spring+Struts+Hibernate 简介(转)
http://blog.csdn.net/slnqnd/article/details/1772910/ Struts2.0 +Hibernate 3.2 +Spring 2.0 一. ...
- 【微信公众号】微信关于网页授权access_token和普通access_token的区别及两种不同方式授权
微信官网网址:https://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html#.E9.99.84.EF.BC.9A.E6. ...
- Python-try except else finally有return时执行顺序探究
学习python或者其他有异常控制的编程语 言, 大家很有可能说try except finally(try catch finally)的执行很简单,无非就是有异常的话执行except, final ...
- Linux-软件包管理-yum在线管理-光盘yum源
mount /dev/cdrom /mnt/cdrom 将设备名/dev/cdrom安装到mnt/cdrom挂载点下面mount 查看当前所有挂载信息 cd /etc/yum.repos.d 切换到e ...
- Python translate()方法
描述 Python translate() 方法根据 maketrans() 方法给出的字符映射转换表转换字符串中的字符. 语法 translate() 方法语法: Python3中: S.trans ...
- for循环中 i++和++i 是否有区别?
正常情况下 i++和++i是有区别的: 前者是:先引用,后增加, 后者是:先增加,后引用, 但是在for循环中: for(var i=0;i<10;i++){ System.out.print ...
- 微信client内部推荐项目总结
如今实习的公司在面向企业提供招聘服务领域数一数二,而下半年的产品重点就在于移动端微信招聘项目.而这次内推项目开发属于微信招聘一个分支. 一.内推综述 乐帝之前读<招聘与录用> ...
- javascript递归、循环、迭代、遍历和枚举概念
javascript递归.循环.迭代.遍历和枚举概念 〓递归(recursion)在数学与计算机科学中,是指在函数的定义中使用函数自身的方法.递归一词还较常用于描述以自相似方法重复事物的过程.例如,当 ...
- python内置函数之dict()
class dict(**kwargs) 返回一个字典.本方法用来创建一个字典对象.只能传入一个参数. >>> dict(a=1) {'a': 1} 也可以传入映射函数作为参数 &g ...
- 02、获取 WebView 控件中,加载的 HTML 网页内容
在开发 app 的时候,WebView 是经常使用的控件.而且有时需要向 WebView 中的 html 内容 注入额外的 js 进行操作.这里记录一下在当前 WebView 控件中,获取 html ...