灵感来自问题系列的隐藏特征…,我很想听听你最喜欢的Django技巧或你知道的不太为人所知但有用的功能。
请在每个答案中只包含一个技巧。 添加Django版本要求(如果有的话)。
灵感来自问题系列的隐藏特征…,我很想听听你最喜欢的Django技巧或你知道的不太为人所知但有用的功能。
请在每个答案中只包含一个技巧。 添加Django版本要求(如果有的话)。
当前回答
这增加了上面关于Django URL名称和反向URL调度的回复。
URL名称也可以在模板中有效地使用。例如,对于一个给定的URL模式:
url(r'(?P<project_id>\d+)/team/$', 'project_team', name='project_team')
你可以在模板中有以下内容:
<a href="{% url project_team project.id %}">Team</a>
其他回答
不要硬编码你的url !
使用url名称,使用反向函数来获取url本身。
在定义URL映射时,为URL指定名称。
urlpatterns += ('project.application.views'
url( r'^something/$', 'view_function', name="url-name" ),
....
)
确保每个URL的名称是唯一的。
我通常有一个一致的格式“项目-应用程序-视图”,例如:“cbx-forum-thread”用于线程视图。
更新(无耻地窃取ayaz的添加):
这个名称可以在带有url标记的模板中使用。
当你开始设计你的网站时,网页设计应用程序是非常有用的。一旦导入,你可以添加它来生成示例文本:
{% load webdesign %}
{% lorem 5 p %}
使用IPython可以在任何级别跳转到代码中,并使用IPython的功能进行调试。一旦你安装了IPython,就把这段代码放在你想调试的地方:
from IPython.Shell import IPShellEmbed; IPShellEmbed()()
然后,刷新页面,转到runserver窗口,您将进入一个交互式IPython窗口。
我有一个片段设置在TextMate,所以我只是键入ipshell和点击标签。没有它我活不下去。
django.db.models。Get_model允许您在不导入模型的情况下检索模型。
James向我们展示了它有多方便:“Django提示:编写更好的模板标记-迭代4”。
如果你还没读过《Unbreaking Django》。它包含了很多关于django陷阱的有用信息。