当调试关闭时,启用 Django 区域设置的应用程序始终返回 404

2023-12-09

我一直在开发一个在根/登陆页面中使用 i18n/locale 作为 url 前缀的应用程序。我尝试使用 DEBUG=True 提前部署我的应用程序以进行测试,并且一切正常。如果尝试访问domain.com,它将重定向到domain.com/en/

现在,由于我禁用了 DEBUG=False,它不会重定向到 /en/,而是会显示 404 错误。

我看到这个问题,和我的场景很接近

Django 1.4 LocaleMiddleware 不能与 Apache 一起使用,但可以与 runserver 一起使用

但是,就我而言,我已经有了 404 页面设置及其处理程序和 404.html 文件。

下面是我的代码

设置.py

LANGUAGE_CODE = 'en-us'
ADMIN_LANGUAGE_CODE = LANGUAGE_CODE

gettext = lambda s: s

LANGUAGES = (
    ('ar', gettext('Arabic')),
    ('en', gettext('English')),
)

USE_I18N = True

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'apps.accounts.middleware.AccountSocialAuthExceptionMiddleware',
    'apps.core.middleware.DefaultSiteMiddleware',
    #    'debug_toolbar.middleware.DebugToolbarMiddleware',
    # Uncomment the next line for simple clickjacking protection:
    # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

TEMPLATE_CONTEXT_PROCESSORS = (

    "django.contrib.auth.context_processors.auth",
    "django.core.context_processors.debug",
    "django.core.context_processors.request",
    "django.core.context_processors.i18n",
    "django.core.context_processors.media",
    "django.core.context_processors.static",
    "django.core.context_processors.tz",
    "django.contrib.messages.context_processors.messages",
    # custom context processors
    "snowflake.apps.core.context_processors.project_name",
    "snowflake.apps.core.context_processors.sites",


)

这是我的网址

from django.conf import settings
from django.conf.urls import patterns, include, url
from django.conf.urls.i18n import i18n_patterns
from django.contrib.staticfiles.urls import staticfiles_urlpatterns


urlpatterns = patterns('',
                       url(r'^admin/', include('apps.mod.urls')),
                       url(r'^redirect/login/$', 'apps.core.views.redirect_to_accounts', name='login-redirect'),
)

urlpatterns += i18n_patterns('',

                             url(r'^$', 'apps.publication.views.index', name='home'),

                             url(r'^publication(s)?/', include('apps.publication.urls')),

                             url(r'^comment(s)?/', include('apps.comment.urls')),

                             url(r'^rating(s)?/', include('apps.rating.urls')),

                             url(r'^tag(s)?/', include('apps.taggable.urls')),

                             url(r'^search/', include('apps.search.urls')),

                             url(r'^guard(s)?/', include('apps.guard.urls')),
)

handler404 = 'apps.core.views.handler404'

P.S我使用django 1.5


您的看法apps.core.view.handler404返回一个HttpResponse对象...但其 HTTP 状态代码为 200。

response = render_to_response("...")
response.status_code = 404
return response

应该可以解决你的问题(以前也遇到过)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当调试关闭时,启用 Django 区域设置的应用程序始终返回 404 的相关文章

随机推荐

  • Spring Data Neo4j:为什么保存方法需要这么长时间?

    我在项目中使用 Spring Data Neo4j 我注意到保存节点实体类 gt 300ms node 需要太多时间 这实际上非常简单 它们只包含一个属性 一个简单的长 id 节点之间的关系也非常简单 我只是想代表一个社交网络 对于其余的
  • 从 Struts 2 中的登录拦截器重定向

    我们的应用程序要求用户登录才能查看任何内容 对所有页面的访问被拦截LoginInterceptor如果用户没有有效的会话 则会显示登录表单 我希望拦截器在显示登录表单之前记住原始请求 URI 并在登录表单验证成功时重定向到它 我试着跟随St
  • {{csrf_token}} 给我 403 Forbidden,而 {%csrf_token%} 给我 500 服务器错误

    我读到这两个基本上是同一件事 但每个都给我带来不同的错误 我不确定该追寻哪一个 我什至不知道如何解决这个问题 有人可以看一下我的代码吗 我已经为此苦苦挣扎了两天 my html div div
  • 是否可以从 Ansible.cfg 中禁用 Ansible 的 ssl 验证?

    我想禁用 SSL 验证ansible cfg配置文件 类似的东西存在于get url module 但是来自 Ansible 配置文件 parameter validate certs no Example name Download JB
  • 不允许操作:alter table add columns(line 1, pos 0)

    We have Spark 2 1 Thrift JDBC ODBC服务器配置为Hive 2 1 1并使用Beeline DDL 语句如 创建表 创建类似表 创建类似表 更改表集 表属性 效果很好 But ALTER TABLE ADD C
  • Google Map API v3 仅显示 5 层

    使用 10 个 KML 文件进行简单调用 我们只显示了 5 个 它工作了几个月 突然停止了 2012 年 5 月 28 日 var map new google maps Map document getElementById map ca
  • WPF:flowdocument 到 PDF [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 hI 有没有可以将流程文档内容打印为PDF的控件 编辑 不是第三方控件 谢谢 我能够通过将 flowdocument 内容保存到 DOCX 并使用以
  • 在android中合并适配器

    我在两个不同的适配器中有两个不同的数据 现在我想将这两个数据合并到一个适配器中 这可能吗 我怎样才能做到这一点 Regards vani 也许 CommonsGuy 的 MergeAdapter 源会有所帮助 请在此处阅读有关文档http
  • 给定数字可以组成的最大数字

    给定一个整数 找出可以由数字组成的最大数字 输入 8754365 输出 8765543 我在 O n logn 中告诉了解决方案 他要求我进一步优化 我们可以利用哈希表进一步优化 rightarrow O n 算法 1 取一个大小为 10
  • 如何在日期解析(Java)中忽略时区标识符?

    我正在尝试像这样解析日期 DateFormat df new SimpleDateFormat MMM dd yyyy K mm ss SSS a z Locale ENGLISH Date date df parse Oct 04 201
  • 采用 VectorXf 并可以修改其值的函数

    我想了解如何操纵特征向量 矩阵 我想实现一个最小二乘高斯牛顿算法 这就是我学习使用 Eigen 库的原因 我有一个 1x6 参数向量 需要每次迭代更新 现在 我只想弄清楚函数如何将向量作为参数并更改其值 Eigen VectorXf bet
  • 如何在不更改 Linux 扩展名的情况下重命名文件 102221.pdf 为 102221_name.pdf

    如何在 Linux 中重命名文件而不更改扩展名 102221 pdf 至 102221 name pdf 我认为这就是你想要的 for x in do mv x x name x done x 将给出不带扩展名的文件名 x 将提取扩展名
  • 将图像分成几部分

    我将图像存储到 SD 卡中 我想将图像分成十六等份 如何使用位图来做到这一点 public class CropImageManipulator public CropImageManipulator private string file
  • Pandas - 数据系列 - 类型错误:索引必须是 DatetimeIndex

    C 是一个数据系列 形状为 10000000 dtypes 为 dtype c between time 22 00 00 23 00 00 这是我得到的错误 TypeError Index must be DatetimeIndex 我应
  • 水平和垂直对齐图像,无间距

    我有一组 4 张图像 我正在尝试垂直和水平对齐它们 问题 我无法消除它们之间的小垂直间距 Please check out the issue reproduced in Fiddle html div ul li a href img s
  • 在另一个类中调用一个类的构造函数

    下周我有一个 C 考试 我正在为此做好准备 当我有两堂课时 我很困惑 如下所示 我必须逐行执行代码 并且我对标记的行感到困惑 x and y inside class two 执行从哪里开始 include
  • 提取 unix 中特定出现的引号之间的字符串

    输入文件 set name old name comment should be updated 输出文件 set name new name comment should be updated 当我尝试 grep 引号之间的内容时grep
  • 在 Perl 6 中使用带有对象键的哈希

    我正在尝试做一个Hash使用非字符串键 在我的例子中是数组或列表 gt my sum 1 3 5 gt 9 2 4 6 gt 12 1 3 5 gt 9 2 4 6 gt 12 现在 我不明白以下内容 如何检索现有元素 gt sum 1 3
  • Angular 库模块从模块导出组件、服务等

    我创建了一个 Angular 库 在我的库中 我希望通过在其中包含功能模块来使其变得干净 Example Library NavigationModule NavigationSideBarComponent NavigationTopCo
  • 当调试关闭时,启用 Django 区域设置的应用程序始终返回 404

    我一直在开发一个在根 登陆页面中使用 i18n locale 作为 url 前缀的应用程序 我尝试使用 DEBUG True 提前部署我的应用程序以进行测试 并且一切正常 如果尝试访问domain com 它将重定向到domain com