Django 1.5,语言网址重定向和JavaScript

时间:2013-06-03 13:38:11

标签: python ajax django-cms django-1.5 django-i18n

我刚刚迁移到django 1.5,我遇到了有关网址语言重定向的新政策的问题,我的旧Ajax POST例如/search最终被重定向到/en/search当然是GET。 如何解决这个问题(理想情况下不修改太多代码)?

2 个答案:

答案 0 :(得分:1)

我提出了一个解决方案,我将这样的ajax帖子命名为:

url(r"^search_engine/ajax_form/$", ajax_form, name='ajax-search')

在我的模板中,我做了:

<form method="post" action="{% url 'ajax-search' %}" id="search-form">

最终在我的script.js中我做了:

var form = $('#search-form');

$.ajax({
  type: 'POST',
  url: $(form).attr('action'),
  dataType: 'json',
  data : form.serialize(),
  success: function(data) {
    /*stuff*/
  }
});

如果在django 1.5中有更好的方法可以做到这一点,我想知道。

编辑:顺便说一下,当URL有参数时,这很痛苦。

答案 1 :(得分:0)

用于Ajax请求的urls.py中的

将URL移动到“模式”

urlpatterns = patterns('',
   # urls for Ajax etc
)
urlpatterns += i18n_patterns('',
    # sites urls
)