Tôi đang chạy python2.7 với django 1.4.python/django - vấn đề ngoặc vuông bidi trong danh sách chọn html
Tôi có đoạn mã sau vào trang views.py của tôi mà trả về tên ngôn ngữ trong một danh sách lựa chọn:
mã python: (views.py)
available_languages = []
for lv in language_versions:
language = LANGUAGES[lv.language_code]
if lv.language_code == user_language_code:
language_label = (lv.language_code, u"%s" % (language.name_native))
else:
language_label = (lv.language_code, u"%s/%s" % (language.name, language.name_native))
available_languages.append(language_label)
....
available_languages = sorted(available_languages, key=lambda x: x[1], cmp=compare)
return available_languages
HTML code:
{{ field }}
chọn danh sách:
German/Deutsch
Polish/polski
Portuguese (Brasil)/português (Brasil)
Spanish (Latin America)/español (Latinoamérica)
Russian/pусский
Vấn đề là khi trang được xem trong một ngôn ngữ rtl như tiếng Ả Rập danh sách lựa chọn được trả lại như sau với khung của văn bản lít ở các vị trí sai:
لألمانية/Deutsch
البولندية/polski
البرتغالية) لبرتغال)/português) Portugal)
لإسبانية أمريكا) اللاتينية)/español) Latinoamérica)
الروسية/pусский
thế nào Tôi viết mã trong tệp view.py để hiển thị chính xác các dấu ngoặc đơn?
Tôi đã đọc một vài chủ đề và đã thử nhiều cách khác nhau để khắc phục vấn đề, nhưng tôi đã hết ý tưởng.
Một nỗ lực không hoạt động đã làm lộn xộn các tên ngôn ngữ với các ký tự điều khiển Unicode (hướng) & # 8234; & # 8236; & rlm; trong tệp view.py - & # 8234; & # 8236; & rlm; được hiển thị cho danh sách chọn trong trang. Ví dụ:
& # 8234; إسبانية أمريكا) اللاتينية)/português (Brasil) & # 8236; & rlm;
Cũng thêm dòng sau vào css không có tác dụng:
direction: rtl; unicode-bidi: embed
Bạn đã thử https://pypi.python.org/pypi/django-right-to-left/0.1.1 chưa? –
Tôi đã không thử django-phải-qua-trái vì vấn đề vẫn sẽ xảy ra do hỗn hợp của rtl, ltr và văn bản trung tính. khung được coi là trường văn bản trung lập. – user1261774
Bạn đã thử nhúng các ký tự điều khiển Unicode trực tiếp vào nguồn (trong 'LANGUAGES') chưa? Tôi nghĩ rằng việc thêm các ký tự điều khiển đó vào views.py không có ý nghĩa vì bạn không biết liệu đó có phải là ngôn ngữ RTL hoặc LTR trước thời hạn hay không. – user193130