国際文字で Djajaxice を使用すると問題が発生します...
私はdjangoテンプレートを持っています...そのテンプレートには次の選択があります:
<select name="region" id="id" onchange="Dajaxice.crc.regions('my_callback',{'data':this.value});">
<option value="" selected="selected" ></option>
{% for region in regions %}
<option value="{{ region.region }}">{{ region.region }}</option>
{% endfor %}
</select>
select の onchange でわかるように、regions 関数を呼び出して 2 つのパラメーターを渡しています。コールバックの名前と選択された値
ajax.py ファイルの関数は次のとおりです。
def regions(request, data):
CityList = City.objects.filter(region__exact=data)
out = "".join(['<option value="%s">%s</option>' % (c.city,c.city) for c in CityList])
return simplejson.dumps(out)
dajaxice_functions.register(regions)
これは正常に機能し、地域の名前に国際文字が含まれていない場合、関連するデータを使用してテンプレート内の JavaScript 関数を問題なく呼び出します。
たとえば、「アンタルヤ」と言ってください。しかし、「ムーラ」のような地域が来ると、うまくいきません。よく調べてみると、変数データには 'Mu%u011Fla' が含まれており、Django がモデル データに正しくアクセスできるように、必要な形式であると想定しているものに戻すことができないようです。
ページの上部にある魔法の引用符を使用しました。data.decode('string-escape') でエスケープを解除し、utf-8 と back の間に押し込んでみましたが、何もうまくいかないようです.. .
これは Dajaxice、Django、または python の問題ですか... それとも、ここで本当に単純なものが欠けていますか?
私はこれを理解しようとして2日間取り組んでいます....あなたが提供できるかもしれないどんな助けにも前もって感謝します.
乾杯