Django从apache获取环境变量

2023-12-29

我似乎无法让 Django 读取我从环境变量中配置的设置。我遵循了一些在线指南,并发现了一些其他问题,因此尝试配置如下:

阿帕奇配置:

WSGIScriptAlias "/v4" /usr/local/myproject4/myproject4/wsgi.py
WSGIPythonPath /usr/local/myproject4:/usr/local/myproject4/env/lib/python2.7/site-packages

<VirtualHost *:8000>

        SetEnv MYPROJECT_SECRET_KEY 'xxx'
        SetEnv MYPROJECT_DB_USER 'xxxx'
        SetEnv MYPROJECT_DB_PASS 'xxxx'

        <Directory /usr/local/myproject4/myproject4>
                <Files wsgi.py>
                        Order deny,allow
                        Allow from all
                </Files>
        </Directory>


</VirtualHost>

我的 wsgi.py 文件看起来包含以下内容(用于检索设置):

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject4.settings")

from django.core.handlers.wsgi import WSGIHandler
_application = WSGIHandler()

def application(environ, start_response):
    for key, value in environ:
        if key.startswith('MYPROJECT_'):
            os.environ[key] = value;    
    return _application(environ, start_response)

但是,每当我尝试检索设置时,我都会得到以下信息:

[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx] mod_wsgi (pid=21912): Target WSGI script '/usr/local/myproject4/myproject4/wsgi.py' cannot be loaded as Python module.
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx] mod_wsgi (pid=21912): Exception occurred processing WSGI script '/usr/local/myproject4/myproject4/wsgi.py'.
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx] Traceback (most recent call last):
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]   File "/usr/local/myproject4/myproject4/wsgi.py", line 14, in <module>
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]     from django.core.handlers.wsgi import WSGIHandler
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]   File "/usr/local/myproject4/env/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 11, in <module>
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]     from django.core.handlers import base
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]   File "/usr/local/myproject4/env/lib/python2.7/site-packages/django/core/handlers/base.py", line 12, in <module>
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]     from django.db import connections, transaction
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]   File "/usr/local/myproject4/env/lib/python2.7/site-packages/django/db/__init__.py", line 83, in <module>
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]     signals.request_started.connect(reset_queries)
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]   File "/usr/local/myproject4/env/lib/python2.7/site-packages/django/dispatch/dispatcher.py", line 88, in connect
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]     if settings.DEBUG:
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]   File "/usr/local/myproject4/env/lib/python2.7/site-packages/django/conf/__init__.py", line 54, in __getattr__
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]     self._setup(name)
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]   File "/usr/local/myproject4/env/lib/python2.7/site-packages/django/conf/__init__.py", line 49, in _setup
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]     self._wrapped = Settings(settings_module)
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]   File "/usr/local/myproject4/env/lib/python2.7/site-packages/django/conf/__init__.py", line 128, in __init__
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]     mod = importlib.import_module(self.SETTINGS_MODULE)
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]   File "/usr/local/myproject4/env/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]     __import__(name)
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]   File "/usr/local/myproject4/myproject4/settings.py", line 29, in <module>
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]     SECRET_KEY = get_env_variable('MYPROJECT_SECRET_KEY')
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]   File "/usr/local/myproject4/myproject4/settings.py", line 23, in get_env_variable
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx]     raise ImproperlyConfigured(error_msg)
[Wed Nov 20 17:07:08 2013] [error] [client xxx.xxx.xxx.xxx] ImproperlyConfigured: Set the MYPROJECT_SECRET_KEY environment variable

如果有人能帮助我找出我做错了什么,我真的很感激。


我需要相同的功能来处理生产/开发环境......并发现了以下文章:http://drumcoder.co.uk/blog/2010/nov/12/apache-environment-variables-and-mod_wsgi/ http://drumcoder.co.uk/blog/2010/nov/12/apache-environment-variables-and-mod_wsgi/

我刚刚尝试了一下,立刻就成功了。请注意带有下划线前缀的处理程序名称:

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

Django从apache获取环境变量 的相关文章

  • Python getstatusoutput 替换不返回完整输出

    我发现了这个很棒的替代品getstatusoutput Python 2 中的函数在 Unix 和 Windows 上同样有效 不过我觉得这个方法有问题output被构建 它只返回输出的最后一行 但我不明白为什么 任何帮助都是极好的 def
  • 使用 kivy textinput 的 'input_type' 属性的问题

    您好 我在使用 kivy 的文本输入小部件的 input type 属性时遇到问题 问题是我制作了两个自定义文本输入 其中一个称为 StrText 其中设置了 input type text 然后是第二个文本输入 名为 NumText 其
  • 独立滚动矩阵的行

    我有一个矩阵 准确地说 是 2d numpy ndarray A np array 4 0 0 1 2 3 0 0 5 我想滚动每一行A根据另一个数组中的滚动值独立地 r np array 2 0 1 也就是说 我想这样做 print np
  • 使用Python请求登录Google帐户

    在多个登录页面上 需要谷歌登录才能继续 我想用requestspython 中的库以便让我自己登录 通常这很容易使用requests库 但是我无法让它工作 我不确定这是否是由于 Google 做出的一些限制 也许我需要使用他们的 API 或
  • Pandas Merge (pd.merge) 如何设置索引和连接

    我有两个 pandas 数据框 dfLeft 和 dfRight 以日期作为索引 dfLeft cusip factorL date 2012 01 03 XXXX 4 5 2012 01 03 YYYY 6 2 2012 01 04 XX
  • datetime.datetime.now() 返回旧值

    我正在通过匹配日期查找 python 中的数据存储条目 我想要的是每天选择 今天 的条目 但由于某种原因 当我将代码上传到 gae 服务器时 它只能工作一天 第二天它仍然返回相同的值 例如当我上传代码并在 07 01 2014 执行它时 它
  • Python 2:SMTPServerDisconnected:连接意外关闭

    我在用 Python 发送电子邮件时遇到一个小问题 me my email address you recipient s email address me email protected cdn cgi l email protectio
  • 从Python中的字典列表中查找特定值

    我的字典列表中有以下数据 data I versicolor 0 Sepal Length 7 9 I setosa 0 I virginica 1 I versicolor 0 I setosa 1 I virginica 0 Sepal
  • “隐藏”内置类对象、函数、代码等的名称和性质[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我很好奇模块中存在的类builtins无法直接访问的 例如 type lambda 0 name function of module
  • 在 Sphinx 文档中*仅*显示文档字符串?

    Sphinx有一个功能叫做automethod从方法的文档字符串中提取文档并将其嵌入到文档中 但它不仅嵌入了文档字符串 还嵌入了方法签名 名称 参数 我如何嵌入only文档字符串 不包括方法签名 ref http www sphinx do
  • Numpy - 根据表示一维的坐标向量的条件替换数组中的值

    我有一个data多维数组 最后一个是距离 另一方面 我有距离向量r 例如 Data np ones 20 30 100 r np linspace 10 50 100 最后 我还有一个临界距离值列表 称为r0 使得 r0 shape Dat
  • Jupyter Notebook 找不到 Python 模块

    不知道发生了什么 但每当我使用 ipython 氢 原子 或 jupyter 笔记本时都找不到任何已安装的模块 我知道我安装了 pandas 但笔记本说找不到 我应该补充一点 当我正常运行脚本时 python script py 它确实导入
  • pip 列出活动 virtualenv 中的全局包

    将 pip 从 1 4 x 升级到 1 5 后pip freeze输出我的全局安装 系统 软件包的列表 而不是我的 virtualenv 中安装的软件包的列表 我尝试再次降级到 1 4 但这并不能解决我的问题 这有点类似于这个问题 http
  • 从 NumPy ndarray 中选择行

    我只想从 a 中选择某些行NumPy http en wikipedia org wiki NumPy基于第二列中的值的数组 例如 此测试数组的第二列包含从 1 到 10 的整数 gt gt gt test numpy array nump
  • 仅第一个加载的 Django 站点有效

    我最近向 stackoverflow 提交了一个问题 标题为使用mod wsgi在apache上多次请求后Django无限加载 https stackoverflow com questions 71705909 django infini
  • 使用特定颜色和抖动在箱形图上绘制数据点

    我有一个plotly graph objects Box图 我显示了箱形 图中的所有点 我需要根据数据的属性为标记着色 如下所示 我还想抖动这些点 下面未显示 Using Box我可以绘制点并抖动它们 但我不认为我可以给它们着色 fig a
  • 如何在 Windows 命令行中使用参数运行 Python 脚本

    这是我的蟒蛇hello py script def hello a b print hello and that s your sum sum a b print sum import sys if name main hello sys
  • 在本地网络上运行 Bokeh 服务器

    我有一个简单的 Bokeh 应用程序 名为app py如下 contents of app py from bokeh client import push session from bokeh embed import server do
  • Django 模型:默认日期时间未转换为 SQL CURRENT_TIMESTAMP

    我正在使用 Django 模型创建 PostgreSQL DB 我有一个 DateTimeField 我想将当前时间戳设置为默认值 我知道有多个消息来源建议如何做到这一点 但是 当我在 Django 之外检查数据库时 默认时间戳不会显示 我
  • JQuery:将 FormData 和 csrf 令牌一起发布

    Is the data 下面的行正确吗 我想将表单数据和 csrf 令牌发布到 Django 视图函数 file upload on change function var currentpath window location pathn

随机推荐

  • 调试 IE 崩溃

    我有一个 Web 应用程序在 Chrome 和 FireFox 中运行良好 但在 IE 中崩溃 请注意 这不是 JavaScript 错误 而是 iexplore exe 进程实际上崩溃了 代码发布在下面 这将在 IE9 中崩溃 当单击该按
  • Angular 1.6.0:“可能未处理的拒绝”错误[重复]

    这个问题在这里已经有答案了 我们在 Angular 应用程序中有一个解决承诺的模式 该模式在 Angular 1 6 0 之前一直为我们提供良好服务 resource get promise then function response d
  • Laravel sainttum 更改 csrf cookie 路由

    我怎样才能将 laravel sainttum csrf cookie 路由更改为 api sanctum csrf cookie 我尝试将其添加到 api php 路由中 use Laravel Sanctum Http Controll
  • 使用 Java 中的 Lambda 函数进行 AWS S3 事件通知

    我正在尝试使用 Lambda 函数进行 S3 Put 事件通知 当我在 S3 存储桶中放置 添加任何新的 JSON 文件时 应该调用我的 Lambda 函数 我面临的挑战是没有足够的文档来用 Java 实现这样的 Lambda 函数 我找到
  • Angular 2 - 获取 Observable 中已更改的 FormControl 的值

    我有一个简单的表单FormBuilder this contactForm formBuilder group name email phone 我想观察每个控件的更改 并在发生这种情况时使用更新后的值运行函数 getContacts va
  • 如何在 Visual Studio 2010 中添加 ASP.NET MVC 3 Web 应用程序?

    我的VS 2010如下 微软视觉工作室 2010 版本 10 0 30319 1 RTMRel Microsoft NET Framework 版本 4 0 30319 RTMRel 安装版本 旗舰版 ASP NET MVC 3 Web 应
  • 如何从 IntelliJ IDEA 内部重命名本地 Git 分支?

    您可以使用 IntelliJ IDEA 的 Git 插件做很多事情 但我还没有找到重命名分支的方法 有吗 我知道我总是可以打开终端并执行git branch m source target 但我也希望找到一个 GUI 解决方案 此功能有几个
  • Spring Boot计划任务不适用于docker容器

    我的 Spring Boot 项目在 docker 容器上运行时遇到问题 如果我以恶魔化方式运行容器 docker run d 当我在后台运行非图像时 一切正常 不幸的是 我必须将其作为妖魔化来运行 并且我不知道如何解决该问题 感谢您提供任
  • 使用“this->”的性能损失?

    考虑 C 类中两个类似的 C 成员函数的示例 void C function Foo new f f new f and void C function Foo new f this gt f new f 这些函数的编译方式是否相同 使用是
  • 释放内存的重要性? [复制]

    这个问题在这里已经有答案了 可能的重复 当 malloc 之后不释放时 到底会发生什么 https stackoverflow com questions 654754 what really happens when you dont f
  • MASM:在 .data 声明中使用当前位置计数器 ($)

    我遇到了有关 MASM 中当前位置计数器的问题 这是我的汇编代码 我使用 Visual Studio 2013 Express 进行汇编 386 model flat stdcall stack 8192 ExitProcess proto
  • 使用 JavaScript 读取 CSS 值

    这有效 div style width 100 div 这确实not work div div 我也尝试过将 css 样
  • 如何避免重复将大文件加载到Python脚本中?

    我编写了一个 python 脚本来获取一个大文件 一个矩阵 50k 行 X 500 列 并将其用作数据集来训练随机森林模型 我的脚本有两个函数 一个用于加载数据集 另一个用于使用所述数据训练随机森林模型 这些都工作得很好 但文件上传大约需要
  • 使用 Node.js 设置 SSL

    我在 GoDaddy 购买了 SSL 证书 并使用以下 node js 服务器尝试设置它 var https require https module for https fs require fs required to read cer
  • 使用 Oracle 客户端 64 位和 Visual Studio 2010 时出现 BadImageFormatException!

    我们的一名开发团队成员遇到了错误 尝试加载 Oracle 客户端库抛出 BadImageFormatException 它似乎 当在 64 位模式下运行并安装了 32 位 Oracle 客户端组件时 会出现此问题 但配置系统的是我 以下是规
  • 点击事件被列表视图父项捕获

    我正在编写一个在 Firemonkey 中使用的自定义开关对象TListView每个项目的控制 除了一个奇怪的故障之外 一切都按预期进行 当用户单击其中一项而不是特定的开关对象时 它无论如何都会切换开关 我假设MouseDown当用户单击列
  • R 数据帧聚合列表

    我确实有 53 个数据框 purchase01 到purchase53 的列表 按日期排序 有 18 个变量和不同的行数 已尝试 但无法在下面粘贴示例 我想要总计的每个不同的数据帧通过其重复值 V9 因子 与列 V2 数字相加 我还没找到答
  • AFHTTPRequestOperationManager 返回块中的数据

    我在我的应用程序中创建了一个 APIController 它有几个方法可以调用特定的 api url 并返回一个用 api 调用结果填充的模型对象 该 API 使用 json 到目前为止我的代码如下所示 Definition MyModel
  • 自定义单元格:致命错误:在展开可选值时意外发现 nil

    我有一个带有创建为 xib 的自定义单元格的表格视图 我没有使用故事板 我有一个问题 我无法用来自网络服务结果的数据填充我的表 另外 我在自定义单元格中有 4 个标签 在我的自定义单元类中 当我尝试为每个项目设置标签时 它给了我如上所述的致
  • Django从apache获取环境变量

    我似乎无法让 Django 读取我从环境变量中配置的设置 我遵循了一些在线指南 并发现了一些其他问题 因此尝试配置如下 阿帕奇配置 WSGIScriptAlias v4 usr local myproject4 myproject4 wsg