首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django url标记性能

django url标记性能
EN

Stack Overflow用户
提问于 2010-04-10 01:19:32
回答 1查看 224关注 0票数 3

我试图按照RedditStyleVoting的指令将django-voting集成到我的项目中。

在我的urls.py中,我做了这样的事情:

代码语言:javascript
复制
    url(r'^sections/(?P<object_id>\d+)/(?P<direction>up|down|clear)vote/?$',
    vote_on_object,
    dict(
        model=Section,
        template_object_name='section',
        template_name='script/section_confirm_vote.html',
        allow_xmlhttprequest=True
        ),
    name="section_vote",

然后,在我的模板中:

代码语言:javascript
复制
    {% vote_by_user user on section as vote %}
{% score_for_object section as score %}

<form class="sectionvote" id="sectionup{{ section.id }}"{% if vote and vote.is_upvote %} action="{% url section_vote object_id=section.id, direction="clear" %}"{% else %} action="{% url section_vote object_id=section.id, direction="up" %}"{% endif %} method="POST">
<input type="image" id="sectionuparrow{{ section.id }}" src="{{ MEDIA_URL }}/aup{% if vote and vote.is_upvote %}mod{% else %}grey{% endif %}.png"></form>

{{ score.score|default:0 }}

<form class="sectionvote" id="sectiondown{{ section.id }}"{% if vote and vote.is_downvote %} action="{% url section_vote object_id=section.id, direction="clear" %}"{% else %} action="{% url section_vote object_id=section.id, direction="down" %}"{% endif %} method="POST"> 
<input type="image" id="sectiondownarrow{{ section.id }}" src="{{ MEDIA_URL }}/adown{% if vote and vote.is_downvote %}mod{% else %}grey{% endif %}.png"></form>

加载页面耗时超过1.3秒,但通过如下方式进行硬编码:

代码语言:javascript
复制
<form class="sectionvote" id="sectionup{{ section.id }}"{% if vote and vote.is_upvote %} action="sections/{{section.id}}/clearvote/"{% else %} action="sections/{{section.id}}/clearvote/"{% endif %} method="POST">

代码语言:javascript
复制
<form class="sectionvote" id="sectiondown{{ section.id }}"{% if vote and vote.is_downvote %} action="sections/{{section.id}}/clearvote/"{% else %} action="sections/{{section.id}}/downvote/"{% endif %} method="POST"> 

我有50毫秒。只是避免url标签解析的东西,我得到了20+倍的性能改进。是不是我做错了什么?如果不是,那么这里的最佳实践是什么,我们应该用right的方式还是快速的方式?

EN

回答 1

Stack Overflow用户

发布于 2010-04-10 01:27:19

如果您使用的是开发版本,那么最近出现了一种回归,它极大地增加了反向查找URL所需的时间--参见the ticket here。它计划在1.2的最终版本之前修复。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2609481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档