小编zzz*_*zzz的帖子

当变量为None时,Django设置默认模板标签输出?

我正在寻找一种django设置或编程方式,以使所有django模板标签在值为None时显示空字符串.例如,假设我有一些django模板:

{{cat}} chases {{mouse}}
Run Code Online (Sandbox Code Playgroud)

如果cat和mouse都是None,它将呈现为:

None chases None
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用{{cat|default:""}}或设置每一个{{mouse|default_if_none:""}}

但是,我正在寻找某种设置,允许我为所有标签设置默认值,而无需显式添加|default:""到每个标签.

我也知道一个叫做的设置TEMPLATE_STRING_IF_INVALID.但是,此设置仅适用于无效字符串.没有被认为是有效的.

python django django-templates

30
推荐指数
1
解决办法
2万
查看次数

用于身份验证和登录的Webapp2

我想为我的python Google App Engine应用程序推出自己的登录系统(而不是使用Google的用户api).

我正在使用webapp2,我注意到有一个webapp2_extras.auth模块和一个不完整的auth教程.

有谁知道如何使用此API创建:

  • 用户注册(接收电子邮件和密码,也许可以验证电子邮件)
  • 用户使用电子邮件和密码登录

一旦我有电子邮件和密码,我在哪里存储它?在AuthStore?我如何对AuthStore进行身份验证?

python google-app-engine webapp2

27
推荐指数
1
解决办法
1万
查看次数

如何在python中用单个反斜杠替换双反斜杠?

我有一个字符串.在那个字符串是双反斜杠.我想用单个反斜杠替换双反斜杠,以便可以正确解析unicode char代码.

(Pdb) p fetched_page
'<p style="text-align:center;" align="center"><strong><span style="font-family:\'Times New Roman\', serif;font-size:115%;">Chapter 0<\\/span><\\/strong><\\/p>\n<p><span style="font-family:\'Times New Roman\', serif;font-size:115%;">Chapter 0 in \\u201cDreaming in Code\\u201d give a brief description of programming in its early years and how and why programmers are still struggling today...'
Run Code Online (Sandbox Code Playgroud)

在此字符串内,您可以看到转义的unicode字符代码,例如:

\\u201c
Run Code Online (Sandbox Code Playgroud)

我想把它变成:

\u201c
Run Code Online (Sandbox Code Playgroud)

尝试1:

fetched_page.replace('\\\\', '\\')
Run Code Online (Sandbox Code Playgroud)

但这不起作用 - 它搜索四倍反斜杠.

尝试2:

fetched_page.replace('\\', '\')
Run Code Online (Sandbox Code Playgroud)

但这会导致行尾错误.

尝试3:

fetched_page.decode('string_escape')
Run Code Online (Sandbox Code Playgroud)

但这对文本没有影响.所有双反斜杠仍然是双反斜杠.

python escaping backslash

23
推荐指数
4
解决办法
3万
查看次数

Eclipse多行缩进使用制表符而不是空格(pydev)

当我在Eclipse中突出显示一个文本块,然后按TAB时,它会在每行的头部插入一个选项卡.我希望它插入4个空格.

我需要在具有自定义扩展名的文件上执行此操作:*.shpaml

我安装了PyDev.

eclipse whitespace code-formatting pydev

20
推荐指数
3
解决办法
1万
查看次数

Python的list.remove(value)如何确定要删除的值?

如果我有对象列表:

l = [a, b, c]
Run Code Online (Sandbox Code Playgroud)

然后我删除其中一个对象:

l.remove(a)
Run Code Online (Sandbox Code Playgroud)

python如何确定要删除的列表中的哪个项目(引擎盖下)?

它是否使用内存位置a?(你可以查看hex(id(a)))

python memory list python-internals

7
推荐指数
1
解决办法
1101
查看次数

Google App Engine Python 2.7 + lxml = Unicode ParserError

我正在尝试使用BeautifulSoup v4来解析文档.我在note.content上调用BeautifulSoup,这是Evernote的API返回的字符串:

汤= BeautifulSoup(note.content)

我在app.yaml文件中启用了lxml:

libraries:
- name: lxml
  version: "2.3"
Run Code Online (Sandbox Code Playgroud)

请注意,这适用于我的本地开发服务器.但是,当部署到Google的云时,我收到以下错误:

错误跟踪:

Unicode parsing is not supported on this platform
Traceback (most recent call last):
  File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1511, in __call__
    rv = self.handle_exception(request, response, e)
  File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1505, in __call__
    rv = self.router.dispatch(request, response)
  File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1253, in default_dispatcher
    return route.handler_adapter(request, response)
  File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1077, in __call__
    return handler.dispatch()
  File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 547, in dispatch
    return self.handle_exception(e, self.app.debug)
  File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 545, in …
Run Code Online (Sandbox Code Playgroud)

unicode google-app-engine lxml python-2.7

6
推荐指数
1
解决办法
755
查看次数

Google App Engine开发服务器在Windows中速度较慢,但​​在Ubuntu Linux中却没有

在Ubuntu中,我运行命令./dev_appserver.py来启动开发服务器.在Linux下,一切都运行得很快.

我也在同一台机器上安装了Windows 7.在Windows中,我从Google App Engine Launcher(版本1.5.1)启动开发服务器.服务器似乎启动正常,但一旦运行,页面可能需要几分钟才能开始加载,如果有的话.页面倾向于完全加载或根本不加载.如果页面确实开始加载,通常会很快.这不是加载图像和脚本的速度很慢,但似乎请求本身会挂起或丢失.

似乎超时的页面是假装"使用Google登录"页面.此外,在挂机期间,偶尔我会收到以下日志消息(但我不确定它是否相关).大多数时候,我根本不会得到任何消息.

INFO     2011-07-10 22:36:58,631 dev_appserver_index.py:254] Updating C:\Users\Eric\Documents\NetBeansProjects\linkpad\index.yaml
Run Code Online (Sandbox Code Playgroud)

在等待挂起请求时,Windows任务管理器会将GoogleAppEngineLauncher.exe显示为使用00 CPU.

对于如何解决这个问题,有任何的建议吗?

注意:我有点依赖于Windows进行测试 - 你猜对了 - IE

编辑: 我无法解决这个问题,所以我决定在Ubuntu中解决:

  1. 安装VitualBox OSE
  2. 获得2份XP和1份Win7
    • 如果您的学校有MSDNAA计划,这些可以免费.尝试谷歌搜索"yourschool msndaa".
  3. 在VirtualBox中创建虚拟机,如下所示:
    • XP1 - 安装IE 7
    • XP2 - 安装IE 8
    • Win7 - 安装IE 9

在进入虚拟化路由之前,请确保您有30GB的可用空间和至少2GB的RAM.

performance google-app-engine development-environment

5
推荐指数
1
解决办法
1258
查看次数

Django模板中所有保留关键字的列表?

我需要django的模板引擎使用的所有保留关键字的列表。这些关键字大部分都可以在这里找到:

https://docs.djangoproject.com/en/dev/ref/templates/builtins/

有没有一种程序化的方法来仅获取关键字列表?还是包含所有列表格式文件的文档?

python django keyword

5
推荐指数
1
解决办法
5630
查看次数

PyParsing非贪婪的比赛

我正在尝试使用部分标准化的街道地址解析它的组件pyparsing.我想非贪婪地匹配一个可能是N令牌长的街道名称.

例如:

444 PARK GARDEN LN
Run Code Online (Sandbox Code Playgroud)

应该解析成:

number: 444
street: PARK GARDEN
suffix: LN
Run Code Online (Sandbox Code Playgroud)

我如何使用PyParsing做到这一点?这是我的初始代码:

from pyparsing import *

def main():
    street_number = Word(nums).setResultsName('street_number')
    street_suffix = oneOf("ST RD DR LN AVE WAY").setResultsName('street_suffix')
    street_name = OneOrMore(Word(alphas)).setResultsName('street_name')

    address = street_number + street_name + street_suffix
    result = address.parseString("444 PARK GARDEN LN")
    print result.dump()

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

但是当我尝试解析它时,街道后缀被默认的贪婪解析行为所吞噬.

python pyparsing

5
推荐指数
1
解决办法
1118
查看次数