i18n 패턴의 URL이있는 앱의 전환 언어는 좋은 SEO를 얻기 위해 접두사로 번역하려는 모든 페이지와 같은 페이지와 다른 페이지 우리는 URL에 접두어를 사용하고 싶지 않습니다.Django i18n 패턴 및 일반 url_pattern을 사용하는 언어 전환
<form action="{% url 'set_language' %}" method="POST" class="langform" style="display:none;">
{% csrf_token %}
<input name="next" type="hidden" value="{{ request.get_full_path|strip_lang }}" />
<input name="language" id="language" type="hidden" value="" />
</form>
:
이 내 형태 :
그래서 나는 모든 괜찮아 내가 스위치 언어를 처리하는 형태를하고있을 때 난 단지 문제에 직면하고있어이 때까지, 2 개 패턴을 분리나는 자바 스크립트를 통해 유효성을 검사합니다. 모두 괜찮습니다. 언어 값을 채우면 양식이 잘 제출됩니다.
@register.filter(name="strip_lang")
def strip_lang(value):
lang = get_language()
return '/%s/' % value.lstrip('/%s/' % lang)
이 필터의 목표는 URL이있는 경우 볼 수 있습니다 : 내 진짜 문제는 다음 값은 내가 너무 일반적인 다음 값을 필요로하기 때문에 나는이 같은 필터와 request.path했다입니다 언어 접두어를 사용하면 접두어가없는 URL 만 다음 값으로 갖도록 제거합니다. 이 필터의
출력은 다음과 같다 : 우리는/FR/페이지에있는 경우 /가/페이지/기본/
I 스위치 언어 아무것도하지만, 작업을 클릭됩니다 기본. 그것은 여전히 같은 언어입니다. 그래서 나는 슬래시를 제거했다.하지만 그것은 올바른 길이 아니기 때문에 404 다 ...
내가 가진 2 가지 종류의 URL을 관리하려면 어떻게해야합니까? 하나는 URL 접두어이고 다른 하나는 접미사가없는 것입니다 ...
언어는 일부 상황에서 잘 작동합니다.
감사합니다.