Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 看看路径前缀;对于/和/dimension/还没有 在会话中查找\u语言键(返回到django\u语言以获得向后兼容性) 查找django\u语言cookie(或在settings.language\u cookie\u NAME中设置的任何内容) 查看浏览器Accept Language标题 使用settings.LANGUAGE\u code_Python_Django_Redirect_Locale_Django 1.5 - Fatal编程技术网

Python 看看路径前缀;对于/和/dimension/还没有 在会话中查找\u语言键(返回到django\u语言以获得向后兼容性) 查找django\u语言cookie(或在settings.language\u cookie\u NAME中设置的任何内容) 查看浏览器Accept Language标题 使用settings.LANGUAGE\u code

Python 看看路径前缀;对于/和/dimension/还没有 在会话中查找\u语言键(返回到django\u语言以获得向后兼容性) 查找django\u语言cookie(或在settings.language\u cookie\u NAME中设置的任何内容) 查看浏览器Accept Language标题 使用settings.LANGUAGE\u code,python,django,redirect,locale,django-1.5,Python,Django,Redirect,Locale,Django 1.5,请注意,没有任何内容显式设置会话密钥或cookie;您自己的代码需要这样做。您可以使用来为您执行此操作;web UI中的表单将发布到该视图,以便访问者设置不同的语言 当访问者来到/fr/并且还没有显式cookie或会话密钥时,也可以显式设置会话密钥或cookie。您可以在i18n_patterns()url映射(任何/请求都会调用该映射)中附加到^$的视图中执行此操作,而不是现在的重定向。当然,这种观点仍然可以改变方向 即使没有明确设置cookie,您的重定向也至少应该使用请求.LANGUAGE

请注意,没有任何内容显式设置会话密钥或cookie;您自己的代码需要这样做。您可以使用来为您执行此操作;web UI中的表单将发布到该视图,以便访问者设置不同的语言

当访问者来到
/fr/
并且还没有显式cookie或会话密钥时,也可以显式设置会话密钥或cookie。您可以在
i18n_patterns()
url映射(任何
/
请求都会调用该映射)中附加到
^$
的视图中执行此操作,而不是现在的重定向。当然,这种观点仍然可以改变方向

即使没有明确设置cookie,您的重定向也至少应该使用
请求.LANGUAGE\u code
变量:

url(r'^$', lambda r: redirect('/{}/dimension/'.format(r.LANGUAGE_CODE)), name="home"),

localemidware
负责确定浏览器应使用的语言;它总是为您的浏览器选择
en
,您需要找出原因

有关详细信息,请参见,但简短的顺序是:

  • 看看路径前缀;对于
    /
    /dimension/
    还没有
  • 在会话中查找
    \u语言
    键(返回到
    django\u语言
    以获得向后兼容性)
  • 查找
    django\u语言
    cookie(或在
    settings.language\u cookie\u NAME中设置的任何内容
  • 查看浏览器
    Accept Language
    标题
  • 使用
    settings.LANGUAGE\u code
  • 请注意,没有任何内容显式设置会话密钥或cookie;您自己的代码需要这样做。您可以使用来为您执行此操作;web UI中的表单将发布到该视图,以便访问者设置不同的语言

    当访问者来到
    /fr/
    并且还没有显式cookie或会话密钥时,也可以显式设置会话密钥或cookie。您可以在
    i18n_patterns()
    url映射(任何
    /
    请求都会调用该映射)中附加到
    ^$
    的视图中执行此操作,而不是现在的重定向。当然,这种观点仍然可以改变方向

    即使没有明确设置cookie,您的重定向也至少应该使用
    请求.LANGUAGE\u code
    变量:

    url(r'^$', lambda r: redirect('/{}/dimension/'.format(r.LANGUAGE_CODE)), name="home"),
    


    这似乎不是问题所在。我已经清除了所有内容,仍然重定向到默认区域设置。我试过使用基于法语的浏览器,它总是重定向到/fr/dimension/。这里我有一个基于英语的浏览器,所以它总是重定向到/en/dimension/。我想应该是缓存以外的东西。这似乎不是问题所在。我已经清除了所有内容,仍然重定向到默认区域设置。我试过使用基于法语的浏览器,它总是重定向到/fr/dimension/。这里我有一个基于英语的浏览器,所以它总是重定向到/en/dimension/。我想应该是缓存以外的东西。这似乎不是问题所在。我已经清除了所有内容,仍然重定向到默认区域设置。我试过使用基于法语的浏览器,它总是重定向到/fr/dimension/。这里我有一个基于英语的浏览器,所以它总是重定向到/en/dimension/。我想应该是缓存以外的东西。这似乎不是问题所在。我已经清除了所有内容,仍然重定向到默认区域设置。我试过使用基于法语的浏览器,它总是重定向到/fr/dimension/。这里我有一个基于英语的浏览器,所以它总是重定向到/en/dimension/。我想应该是缓存以外的东西。你安装了吗?是的,我安装了:“django.middleware.locale.LocaleMiddleware”你安装了吗?是的,我安装了:“django.middleware.locale.LocaleMiddleware”你安装了吗?是的,我安装了:“django.middleware.locale.LocaleMiddleware”你安装了吗,我会:'django.middleware.locale.localemidleware'我如何捕捉简单的/fr/url并将任何内容放入cookie/session或其他任何东西中?为什么下面的方法不起作用
    url(r'^fr/',lambda r:redirect('fr/dimension/'),name=“home”),
    @MichaelDeKeyser:您不能将其添加到
    i18n_模式中,因为它已经引入了
    /language
    前缀。匹配
    ^fr/
    意味着
    /en/fr
    等。因此,在处理模式时,无法知道用户要求的区域设置是什么?@MichaelDeKeyser:更新了一点答案。任何
    url(r'^fr/')
    模式都必须声明为常规url映射,而不是在
    i18n\u patterns()
    映射中声明。@MichaelDeKeyser:如果用户明确要求
    /fr/
    ,则
    请求。LANGUAGE\u code
    将设置为
    fr
    。但是重定向到
    /dimension/
    将不包括语言代码。为重定向到
    //dimension
    ^$
    创建一个视图。如何捕获简单的/fr/url并将任何内容放入cookie/session或其他任何内容?为什么下面的方法不起作用
    url(r'^fr/',lambda r:redirect('fr/dimension/'),name=“home”),
    @MichaelDeKeyser:您不能将其添加到
    i18n_模式中,因为它已经引入了
    /language
    前缀。匹配
    ^fr/
    意味着
    /en/fr
    等。因此,在处理模式时,无法知道用户要求的区域设置是什么?@MichaelDeKeyser:更新了一点答案。任何
    url(r'^fr/')
    模式都必须声明为常规url映射,而不是在
    i18n_patterns()
    映射中声明。@MichaelDeKeyser:如果用户明确要求
    /fr/
    ,则
    请求.LANGUA