文档章节

BAE Python Django应用调试记录

Honghe
 Honghe
发布于 2013/07/09 22:10
字数 1022
阅读 2275
收藏 6

    鉴于bae与sae是国内少有的app engine. 且bae又后来居上、可用git版本管理,于是试用此平台挂一个测试Python Django应用。
    但百度云的Python文档还真是少的可怜,又没怎么维护,都让我怀疑到底这货百度要不要了。文档传送门bae支持Django 1.4版本,主流是1.5,将就着用。
     http://901314.duapp.com/就是拙作,页面中唯一的超链接hello的实现方式是调用Django中的一个app。依着简陋的文档修修补补push两回后,超链接hello居然是404错误,顿时乱了手脚。这么简单的测试也出错,但bae又不给调试信息,于是乱七八糟的搞了一会还是没见效。最后想想,可能是git上传了.pyc字节码文件捣乱,删除bae上的所有代码,重新push一份干净的demo,终于hello链接可以跳转了,记录庆祝下,SE来爬我的网页吧哈哈。以后试试动态生成内容。
    示例源码http://git.oschina.net/397667796/bae_django,来fork吧。

    ps: bae好像也会出调试信息,把调试打开,访问不存在的地址http://901314.duapp.com/hellos,出现下面与本地一样的debug信息,那为什么之前超链接出问题不出debug信息呢?==!

Page not found (404)

Request Method:	GET
Request URL:	http://901314.duapp.com/hellos
Using the URLconf defined in bae_django.urls, Django tried these URL patterns, in this order:

^$ [name='home']
^hello/$ [name='hello']
The current URL, hellos, didn't match any of these.

You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.

2013.07.10 更新:
    源代码增加BAE版本1,测试调用非默认的Django 1.4库,而是调用应用目录下的Django 1.5.1库,测试成功。参考http://developer.baidu.com/wiki/index.php?title=docs/cplat/rt/python/faq。但总共几M的git包,竟push到BAE失败,提示如下。哪位知道如何解决的,多谢回复。

Counting objects: 4592, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2499/2499), done.
efrror: RPC failed; result=22, HTTP code = 411| 1.23 MiB/s
Watal: The remote end hung up unexpectedly
Writing objects: 100% (4588/4588), 3.04 MiB | 957 KiB/s, done.
Total 4588 (delta 1209), reused 1 (delta 0)
fatal: The remote end hung up unexpectedly
Everything up-to-date

2013.07.11 更新:
    今天折腾半天,终于弄清“超链接hello居然是404错误”的原因,在于app.conf文件,出现错误的静态资源文件配置如下。
    (2013.07.11晚更新:此配置是对未使用Django框架,所有路由由app.conf处理,不论是目录(/)、静态文件(/static/$1)、还是(动态脚本)):

handlers:
  - url : /
    script: index.py
  - url : /(.*).py
    script: $1.py
  - url : /static/(.*)
    script: /static/$1
  - expire : .jpg modify 10 years
  - expire : .swf modify 10 years
  - expire : .png modify 10 years
  - expire : .gif modify 10 years
  - expire : .JPG modify 10 years
  - expire : .ico modify 10 years
     而正确的配置文件是下面这样的,区别在于对index.py的映射路径。
    (2013.07.11晚更新:些时因app.conf与Django的urls.py一起接管路由,虽未彻底了解他们的协作,但暂时的理解是app.conf位于处理流水线的第一位,且依其文件内路由的顺序执行。如((/.*)代表所有网址除位于之前过滤过的)路由全由index.py处理,而index.py是BAE上应用的入口,(/.*)地址的具体内容之后再交由Django的urls.py处理,这样两者的定位就清楚了。下面app.conf的配置中,把/static/(.*)放在前面是因为项目在发布时,一般把所有的静态文件从项目中的apps汇集放在/static/目录下,统一在Python代码之前由app.conf接管静态文件的路由, 其中一个目的应该就是为提高效率。参考BAE路由配置http://developer.baidu.com/wiki/index.php?title=docs/cplat/rt/manage/conf 与 SAEhttp://python.sinaapp.com/doc/quickstart.html 及始祖Googlehttps://developers.google.com/appengine/docs/python/config/appconfig?hl=zh-cn

handlers:
   - url : /static/(.*)
     script : /static/$1
   - url : /.*
     script : index.py 
   - expire : .jpg modify 10 years
   - expire : .swf modify 10 years
   - expire : .png modify 10 years
   - expire : .gif modify 10 years
   - expire : .JPG modify 10 years
   - expire : .ico modify 10 years
     坐等大神们帮忙解释。
    再PS: 从BAE的目录发现,其居然用新浪的codefs代码部署工具。

© 著作权归作者所有

Honghe

Honghe

粉丝 58
博文 127
码字总数 35797
作品 3
福州
高级程序员
私信 提问
加载中

评论(9)

Honghe
Honghe 博主

引用来自“无涯_9451”的评论

引用来自“Honghe”的评论

引用来自“无涯_9451”的评论

引用来自“Honghe”的评论

引用来自“无涯_9451”的评论

引用来自“Honghe”的评论

引用来自“无涯_9451”的评论

参考一下,之前搭了好久没成功

最近忙QEMU,暂放BAE。不知百度更新文档了没

百度问文档还是那么简约,今天又搞了一次,先是自己搭一次,本地调试好了,上传上去,但是页面始终显示的是“Welcome to Baidu Cloud!”,这个默认的页面。后来直接下载你的代码,使用 zip打包,还是一样的问题,想问一下楼主,你遇到过这样的情况吗?怎么处理好!

确认下app.conf文件是否配置好了

现在好了,问题可能处在应用里面有两种框架,有两个版本是webapp2,把版本都删除后就好了,奇怪的很

哦,两种框架,怎么个用法?

我前期用webapp2做的开发,后来想学习django,就新建个10版本,想在这个版本上开发,然后就发生了奇怪的问题,今天也是在是突然想起来的,重新建一个应用,然后传代码,居然好了,晕死

哦哦,webapp2不熟。可能是多个框架混用的问题,配置之类的有缓存吧,虽然你新建了版本。
无涯_9451
无涯_9451

引用来自“Honghe”的评论

引用来自“无涯_9451”的评论

引用来自“Honghe”的评论

引用来自“无涯_9451”的评论

引用来自“Honghe”的评论

引用来自“无涯_9451”的评论

参考一下,之前搭了好久没成功

最近忙QEMU,暂放BAE。不知百度更新文档了没

百度问文档还是那么简约,今天又搞了一次,先是自己搭一次,本地调试好了,上传上去,但是页面始终显示的是“Welcome to Baidu Cloud!”,这个默认的页面。后来直接下载你的代码,使用 zip打包,还是一样的问题,想问一下楼主,你遇到过这样的情况吗?怎么处理好!

确认下app.conf文件是否配置好了

现在好了,问题可能处在应用里面有两种框架,有两个版本是webapp2,把版本都删除后就好了,奇怪的很

哦,两种框架,怎么个用法?

我前期用webapp2做的开发,后来想学习django,就新建个10版本,想在这个版本上开发,然后就发生了奇怪的问题,今天也是在是突然想起来的,重新建一个应用,然后传代码,居然好了,晕死
Honghe
Honghe 博主

引用来自“无涯_9451”的评论

引用来自“Honghe”的评论

引用来自“无涯_9451”的评论

引用来自“Honghe”的评论

引用来自“无涯_9451”的评论

参考一下,之前搭了好久没成功

最近忙QEMU,暂放BAE。不知百度更新文档了没

百度问文档还是那么简约,今天又搞了一次,先是自己搭一次,本地调试好了,上传上去,但是页面始终显示的是“Welcome to Baidu Cloud!”,这个默认的页面。后来直接下载你的代码,使用 zip打包,还是一样的问题,想问一下楼主,你遇到过这样的情况吗?怎么处理好!

确认下app.conf文件是否配置好了

现在好了,问题可能处在应用里面有两种框架,有两个版本是webapp2,把版本都删除后就好了,奇怪的很

哦,两种框架,怎么个用法?
无涯_9451
无涯_9451

引用来自“Honghe”的评论

引用来自“无涯_9451”的评论

引用来自“Honghe”的评论

引用来自“无涯_9451”的评论

参考一下,之前搭了好久没成功

最近忙QEMU,暂放BAE。不知百度更新文档了没

百度问文档还是那么简约,今天又搞了一次,先是自己搭一次,本地调试好了,上传上去,但是页面始终显示的是“Welcome to Baidu Cloud!”,这个默认的页面。后来直接下载你的代码,使用 zip打包,还是一样的问题,想问一下楼主,你遇到过这样的情况吗?怎么处理好!

确认下app.conf文件是否配置好了

现在好了,问题可能处在应用里面有两种框架,有两个版本是webapp2,把版本都删除后就好了,奇怪的很
无涯_9451
无涯_9451

引用来自“Honghe”的评论

引用来自“无涯_9451”的评论

引用来自“Honghe”的评论

引用来自“无涯_9451”的评论

参考一下,之前搭了好久没成功

最近忙QEMU,暂放BAE。不知百度更新文档了没

百度问文档还是那么简约,今天又搞了一次,先是自己搭一次,本地调试好了,上传上去,但是页面始终显示的是“Welcome to Baidu Cloud!”,这个默认的页面。后来直接下载你的代码,使用 zip打包,还是一样的问题,想问一下楼主,你遇到过这样的情况吗?怎么处理好!

确认下app.conf文件是否配置好了

看了这个文件,没发现什么问题,在网站上看配置也是对的。还是不行,不知道哪里出了问题
Honghe
Honghe 博主

引用来自“无涯_9451”的评论

引用来自“Honghe”的评论

引用来自“无涯_9451”的评论

参考一下,之前搭了好久没成功

最近忙QEMU,暂放BAE。不知百度更新文档了没

百度问文档还是那么简约,今天又搞了一次,先是自己搭一次,本地调试好了,上传上去,但是页面始终显示的是“Welcome to Baidu Cloud!”,这个默认的页面。后来直接下载你的代码,使用 zip打包,还是一样的问题,想问一下楼主,你遇到过这样的情况吗?怎么处理好!

确认下app.conf文件是否配置好了
无涯_9451
无涯_9451

引用来自“Honghe”的评论

引用来自“无涯_9451”的评论

参考一下,之前搭了好久没成功

最近忙QEMU,暂放BAE。不知百度更新文档了没

百度问文档还是那么简约,今天又搞了一次,先是自己搭一次,本地调试好了,上传上去,但是页面始终显示的是“Welcome to Baidu Cloud!”,这个默认的页面。后来直接下载你的代码,使用 zip打包,还是一样的问题,想问一下楼主,你遇到过这样的情况吗?怎么处理好!
Honghe
Honghe 博主

引用来自“无涯_9451”的评论

参考一下,之前搭了好久没成功

最近忙QEMU,暂放BAE。不知百度更新文档了没
无涯_9451
无涯_9451
参考一下,之前搭了好久没成功
Windows+Apache+Python+Django 踩坑记录

Windows+Apache+Python+Django 踩坑记录 摘要   使用Python进行Web项目开发;相对于主流三大Web端解决方案(Java/.NET/PHP) Python在某些方面具有一定的优势,相对 Java/.NET 有更轻量级的部...

优惠码领取
07/27
0
0
BAE下部署django之处理静态文件

大致的流程: 建立目录并正确设置 BAE的 app.conf 配置 django 的 settings.py 文件 python manage.py collectstatic 收集所有静态文件 1.设置 app.conf [参考文档][1] 在项目根目录建立 st...

BaiLiang
2014/05/11
470
0
Django新手需要注意的10个要点

这篇博文对于django的要点总结很不错,翻译感觉也不错,这里收藏学习,提醒自己不要偷懒,记住要写优美的代码! 1,不要将项目名称包含在引用代码里 比如你创建了一个名为”project”的项目,...

ranvane
2014/08/26
54
0
如何用Python调试器修复代码?

使用Python调试器 调试器是一个工具,它允许你打开应用程序的内部以找出需要修复的内容。 你可以查看变量和调用堆栈,设置条件断点,逐行扫描源代码,并执行需要执行的操作。 在调试时Pytho...

实验楼
2018/06/27
0
0
Django需要注意的10个要点

1,不要将项目名称包含在引用代码里 比如你创建了一个名为"project"的项目,包含一个名为"app"的应用,那么如下代码是不好的: from project.app.models import Author 缺点在于:应用和项目...

岭南六少
2011/08/19
452
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Security 实战干货:实现自定义退出登录

1. 前言 上一篇对 Spring Security 所有内置的 Filter 进行了介绍。今天我们来实战如何安全退出应用程序。 2. 我们使用 Spring Security 登录后都做了什么 这个问题我们必须搞清楚!一般登录...

码农小胖哥
28分钟前
8
0
JVM核心知识-类加载机制

JVM中类的生命周期包括7个阶段,加载、准备、验证、解析、初始化、使用、卸载。其中准备、验证、解析被归为连接阶段。 加载 jvm在这个阶段完成的工作 通过类名获取类的二进制字节流 将这个字...

moon888
28分钟前
7
0
.net工作流引擎ccflow流程结束相关功能的介绍

关键字: 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 工作流功能说明 工作流设计 工作流快速开发平台 业务流程管理 bpm工作流系统 java工作流主流框架 自定义...

孟娟
42分钟前
7
0
APP 值入轻量级钱包以太坊网络钱包

APP 值入轻量级钱包以太坊网络钱包

xiaodong16
46分钟前
5
0
云原生下数据治理的微服务架构

摘要: 现代软件发展历程中,微服务概念早在2014年由两位美国学者提出,2015年云原生也在linux基金会的推动下茁壮成长。短短几年,越来越多的公司投入研究,越来越多的技术框架孕育而生。本文...

恒宝乐园
53分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部