python-Django将旧网址转换为新语法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-Django将旧网址转换为新语法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1658字,纯文字阅读大概需要3分钟。
内容图文
![python-Django将旧网址转换为新语法](/upload/InfoBanner/zyjiaocheng/680/1929dd2fbdbc4a4589a8f99877986df8.jpg)
我正在尝试在我的项目中使用此应用:https://github.com/s1n4/django-favorite
但它具有旧的url语法,我不明白如何将其转换为新的url语法.
我要转换的网址:
{% url favorite.views.add_or_remove target_model target_object_id %}
其确切格式为html:
<button class="btn favorite" href="{% url 'favorite.views.add_or_remove' %}" model="{{ target_model }}" id="target_{{ target_object_id }}">
我知道Django 1.5的语法已更改,我尝试使用此版本:
{% url 'favorite.views.add_or_remove' target_model target_object_id %}
它也没有用.
它说:
Reverse for 'favorite.views.add_or_remove' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
我怎样才能解决这个问题?谢谢.
编辑:
其模板标记可以帮助您了解:
@register.simple_tag(takes_context=True)
def favorite_button(context, target):
user = context['request'].user
# do nothing when user isn't authenticated
if not user.is_authenticated():
return ''
target_model = '.'.join((target._meta.app_label, target._meta.object_name))
target_content_type = ContentType.objects.get_for_model(target)
target_object_id = target.id
fav_count = Favorite.objects.filter(target_content_type=target_content_type,
target_object_id=target_object_id).count()
undo = False
if user.favorite_set.filter(target_content_type=target_content_type,
target_object_id=target_object_id):
undo = True
return render_to_string('favorite/button.html',
{'target_model': target_model, 'target_object_id': target_object_id,
'fav_count': fav_count, 'undo': undo})
解决方法:
由于该应用程序已在生产中使用(我们在其中使用了Django 1.4),因此我无法修补该应用程序以使其与Django 1.5兼容.但是对于这种情况,我一直保持开放的要求.它是:https://github.com/s1n4/django-favorite/pull/1可能会解决问题.
内容总结
以上是互联网集市为您收集整理的python-Django将旧网址转换为新语法全部内容,希望文章能够帮你解决python-Django将旧网址转换为新语法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。