Django/mod_wsgi OSError: [Errno 13] 权限被拒绝: 当 DEBUG = OFF 时为“静态”

2023-11-26

我在 Centos 6.2 服务器(运行 apache、mysql、php)上有一个 Django 1.4 应用程序,使用 mod_wsgi 并将我的项目部署在虚拟环境中。该应用程序本身是我在托管服务上使用多年的应用程序,现在我正在自己的机架空间云服务器上部署。该应用程序的确切版本在其他地方运行良好,因此这个问题是关于我如何部署它的。这是我的第一次 python/django 部署 - 我之前已经设置了数十个 LAMP 站点,因此我对 Django 部署缺乏熟悉,这显然阻碍了我。

该应用程序在我的服务器上运行良好DEBUG = TRUE在项目的 settings.py 文件中,但是当我将其更改为 FALSE 时,站点的前端会产生 [500] 内部服务器错误。

我知道当 DEBUG 设置为 OFF 时,apache 现在通过 mod_wsgi 提供我的静态文件(mod_wsgi 工作正常),这让我相信我的配置中的“某些东西”阻止了这种情况。我已经运行了./manage.py collectstatic填充的命令/static目录中的/myproject folder.

我已经为此工作了几个星期,阅读了尽可能多的部署指南,但到目前为止还没有任何乐趣。非常感谢您的帮助。

以下是我项目的settings.py文件中的相关声明:

############ settings.py #############

SITE_ROOT = os.path.realpath(os.path.dirname(__file__))
MEDIA_ROOT = '/opt/virtual/myproject/static/localtv/media/'
MEDIA_URL = 'http://example.org/static/localtv/media/'
STATIC_ROOT = '/opt/virtual/myproject/static/'
STATIC_URL = 'http://example.org/static/'

这是 wsgi.py 文件:

############# wsgi.py #################
import os
import sys
import site
site.addsitedir('/opt/virtual/myapp/lib/python2.7/site-packages')

apache_configuration= os.path.dirname(__file__)
project = os.path.dirname(apache_configuration)

sys.path.append('/opt/virtual')
sys.path.append('/opt/virtual/myproject')

os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

我在 httpd.conf 中的虚拟主机声明如下所示:

############ virtual host declaration in httpd.conf ##############
<VirtualHost *:80>
ServerName example.org
ServerAlias www.example.org
DocumentRoot /opt/virtual/myproject

Alias /robots.txt /opt/virtual/myproject/static/robots.txt
Alias /favicon.ico /opt/virtual/myproject/static/favicon.ico

AliasMatch ^/([^/]*\.css) /opt/virtual/myproject/static/styles/$1

Alias /static/ /opt/virtual/myproject/static/
Alias /media/ /opt/virtual/myproject/static/media
Alias /images /opt/virtual/myproject/static/images

<Directory /opt/virtual/myproject/static>
Order deny,allow
Allow from all
</Directory>

<Directory /opt/virtual/myproject/static/media>
Order deny,allow
Allow from all
</Directory>

WSGIDaemonProcess example.org python-path=/opt/virtual/myapp/lib/python2.7/site-packages
WSGIProcessGroup example.org

WSGIScriptAlias / /opt/virtual/myproject/application/wsgi.py

<Directory /opt/virtual/myproject>
<Files wsgi.py>
Order allow,deny
Allow from all
</Files>
</Directory>

我在 /ROOT 中的 .bashrc 文件如下所示:

########### .bashrc ##################

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

# User specific aliases and functions
alias python='/opt/bin/python2.7'

export PYTHONPATH=/opt/virtual/myapp/lib/python2.7/site-packages:$PYTHONPATH

最后,我的 error_log 显示了回溯:

    ############### error_log ###############
    [Mon Jul 09 09:21:13 2012] [error] <WSGIRequest
    [Mon Jul 09 09:21:13 2012] [error] path:/,
    [Mon Jul 09 09:21:13 2012] [error] GET:<QueryDict: {}>,
    [Mon Jul 09 09:21:13 2012] [error] POST:<QueryDict: {}>,
    [Mon Jul 09 09:21:13 2012] [error]  'DOCUMENT_ROOT': '/opt/virtual/myproject',
    [Mon Jul 09 09:21:13 2012] [error]  'GATEWAY_INTERFACE': 'CGI/1.1',
    [Mon Jul 09 09:21:13 2012] [error]  'HTTP_ACCEPT': "*/*",
    [Mon Jul 09 09:21:13 2012] [error]  'HTTP_HOST': 'example.org',
    [Mon Jul 09 09:21:13 2012] [error]  'HTTP_USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',
    [Mon Jul 09 09:21:13 2012] [error]  'PATH_INFO': u'/',
    [Mon Jul 09 09:21:13 2012] [error]  'PATH_TRANSLATED': '/opt/virtual/myproject/application/wsgi.py/',
    [Mon Jul 09 09:21:13 2012] [error]  'QUERY_STRING': '',
    [Mon Jul 09 09:21:13 2012] [error]  'REMOTE_ADDR': '99.99.99.99',
    [Mon Jul 09 09:21:13 2012] [error]  'REMOTE_PORT': '99999',
    [Mon Jul 09 09:21:13 2012] [error]  'REQUEST_METHOD': 'GET',
    [Mon Jul 09 09:21:13 2012] [error]  'REQUEST_URI': '/',
    [Mon Jul 09 09:21:13 2012] [error]  'SCRIPT_FILENAME': '/opt/virtual/myproject/application/wsgi.py',
    [Mon Jul 09 09:21:13 2012] [error]  'SCRIPT_NAME': u'',
    [Mon Jul 09 09:21:13 2012] [error]  'SERVER_ADDR': '111.111.111.111',
    [Mon Jul 09 09:21:13 2012] [error]  'SERVER_ADMIN': 'root@localhost',
    [Mon Jul 09 09:21:13 2012] [error]  'SERVER_NAME': 'example.org',
    [Mon Jul 09 09:21:13 2012] [error]  'SERVER_PORT': '80',
    [Mon Jul 09 09:21:13 2012] [error]  'SERVER_PROTOCOL': 'HTTP/1.0',
    [Mon Jul 09 09:21:13 2012] [error]  'SERVER_SIGNATURE': '<address>Apache/2.2.15 (CentOS) Server at example.org Port 80</address>\\n',
    [Mon Jul 09 09:21:13 2012] [error]  'SERVER_SOFTWARE': 'Apache/2.2.15 (CentOS)',
    [Mon Jul 09 09:21:13 2012] [error]  'mod_wsgi.application_group': 'example.org|',
    [Mon Jul 09 09:21:13 2012] [error]  'mod_wsgi.callable_object': 'application',
    [Mon Jul 09 09:21:13 2012] [error]  'mod_wsgi.handler_script': '',
    [Mon Jul 09 09:21:13 2012] [error]  'mod_wsgi.input_chunked': '0',
    [Mon Jul 09 09:21:13 2012] [error]  'mod_wsgi.listener_host': '',
    [Mon Jul 09 09:21:13 2012] [error]  'mod_wsgi.listener_port': '80',
    [Mon Jul 09 09:21:13 2012] [error]  'mod_wsgi.process_group': 'example.org',
    [Mon Jul 09 09:21:13 2012] [error]  'mod_wsgi.request_handler': 'wsgi-script',
    [Mon Jul 09 09:21:13 2012] [error]  'mod_wsgi.script_reloading': '1',
    [Mon Jul 09 09:21:13 2012] [error]  'mod_wsgi.version': (3, 3),
    [Mon Jul 09 09:21:13 2012] [error]  'wsgi.errors': <mod_wsgi.Log object at 0x7f34321aa530>,
    [Mon Jul 09 09:21:13 2012] [error]  'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f34320e4e40>,
    [Mon Jul 09 09:21:13 2012] [error]  'wsgi.input': <mod_wsgi.Input object at 0x7f34320e02b0>,
    [Mon Jul 09 09:21:13 2012] [error]  'wsgi.multiprocess': False,
    [Mon Jul 09 09:21:13 2012] [error]  'wsgi.multithread': True,
    [Mon Jul 09 09:21:13 2012] [error]  'wsgi.run_once': False,
    [Mon Jul 09 09:21:13 2012] [error]  'wsgi.url_scheme': 'http',
    [Mon Jul 09 09:21:13 2012] [error]  'wsgi.version': (1, 1)}>
    [Mon Jul 09 09:21:13 2012] [error] -------------------------------------------------------------------------------
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99] mod_wsgi (pid=21520): Exception occurred processing WSGI script '/opt/virtual/myproject/application/wsgi.py'.
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99] Traceback (most recent call last):
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 241, in __call__
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     response = self.get_response(request)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/core/handlers/base.py", line 179, in get_response
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/core/handlers/base.py", line 228, in handle_uncaught_exception
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return callback(request, **param_dict)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/utils/decorators.py", line 91, in _wrapped_view
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     response = view_func(request, *args, **kwargs)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/views/defaults.py", line 33, in server_error
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return http.HttpResponseServerError(t.render(Context({})))
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 140, in render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return self._render(context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 134, in _render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return self.nodelist.render(context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 823, in render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     bit = self.render_node(node, context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 837, in render_node
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return node.render(context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/loader_tags.py", line 123, in render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return compiled_parent._render(context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 134, in _render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return self.nodelist.render(context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 823, in render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     bit = self.render_node(node, context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 837, in render_node
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return node.render(context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/loader_tags.py", line 62, in render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     result = block.nodelist.render(context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 823, in render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     bit = self.render_node(node, context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 837, in render_node
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     response = view_func(request, *args, **kwargs)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/views/defaults.py", line 33, in server_error
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return http.HttpResponseServerError(t.render(Context({})))
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 140, in render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return self._render(context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 134, in _render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return self.nodelist.render(context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 823, in render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     bit = self.render_node(node, context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 837, in render_node
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return node.render(context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/loader_tags.py", line 123, in render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return compiled_parent._render(context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 134, in _render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return self.nodelist.render(context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 823, in render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     bit = self.render_node(node, context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 837, in render_node
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return node.render(context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/loader_tags.py", line 62, in render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     result = block.nodelist.render(context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 823, in render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     bit = self.render_node(node, context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/template/base.py", line 837, in render_node
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return node.render(context)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/compressor/templatetags/compress.py", line 91, in render
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     rendered_output = compressor.output(self.mode, forced=forced)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/compressor/css.py", line 53, in output
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     ret.append(subnode.output(*args, **kwargs))
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/compressor/css.py", line 55, in output
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return super(CssCompressor, self).output(*args, **kwargs)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/compressor/base.py", line 221, in output
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     finished_content = self.handle_output(mode, filtered_content, forced)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/compressor/base.py", line 233, in handle_output
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     return output_func(mode, content, forced)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/compressor/base.py", line 245, in output_file
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     self.storage.save(new_filepath, ContentFile(content))
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/core/files/storage.py", line 45, in save
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     name = self._save(name, content)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/site-packages/django/core/files/storage.py", line 168, in _save
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     os.makedirs(directory)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]   File "/opt/virtual/myapp/lib/python2.7/os.py", line 157, in makedirs
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99]     mkdir(name, mode)
    [Mon Jul 09 09:21:13 2012] [error] [client 99.99.99.99] OSError: [Errno 13] Permission denied: '/opt/virtual/myproject/static/CACHE/css'

我在几乎相似的条件下收到了与您相同的错误(我运行的是 Ubuntu,而不是 CentOS)。

正如您所注意到的,当使用 DEBUG = FALSE 运行时,您实际上是在通过 wsgi 运行。这意味着当使用 DEBUG = TRUE 运行时,您实际上正在使用您的用户的权限,而当使用 DEBUG = FALSE 运行时,您正在使用 Apache 的用户权限运行。 Apache 使用的用户是www-data.

www-data既不是所有者,也不属于拥有的用户组/var/www。这意味着www-data被视为other并已将权限设置给其他人。

The BAD解决这个问题的方法是:

sudo chmod -R 777 /var/www/

这将使每个人都能完全访问其中的所有内容/var/www/,这显然是一个非常糟糕的主意。

Another BAD解决方案是:

sudo chown -R www-data /var/www/

这会将所有者更改为www-data,这会打开安全漏洞。

The GOOD解决方案是:

sudo groupadd varwwwusers
sudo adduser www-data varwwwusers
sudo chgrp -R varwwwusers /var/www/
sudo chmod -R 770 /var/www/

这增加了www-data to the varwwwusers组,然后将其设置为组/var/www/及其所有子文件夹。chmod将为所有者和组授予读、写、执行权限,同时阻止任何其他用户访问它。

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

Django/mod_wsgi OSError: [Errno 13] 权限被拒绝: 当 DEBUG = OFF 时为“静态” 的相关文章

  • App Engine 上的 Django 与 webapp2 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何替换Python字符串中的正确字母

    任务是 您的任务是纠正数字化文本中的错误 您只需处理以下错误 S 被误解为 5 O 被误解为 0 I 被误解为 1 我的代码 def correct string for i in string if 5 in string string
  • 如何同时运行多个功能[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有以下代码 my func1 my func2 my func3 my func4 my func5 是否可以同时计算函数的数据 而
  • DynamodB:如何更新排序键?

    该表有两个键 filename 分区键 和eventTime 排序键 我要更新eventTime对于某些filename Tried put item and update item 发送相同的filename与新的eventTime但这些
  • Python 不考虑 distutils.cfg

    我已经尝试了给出的所有内容 并且所有教程都指向相同的方向 即使用 mingw 作为 python 而不是 Visual C 中的编译器 我确实有 Visual C 和 mingw 当我想使用 pip 安装时 问题开始出现 它总是给Unabl
  • Python Requests 库重定向新 url

    我一直在浏览 Python 请求文档 但看不到我想要实现的任何功能 在我的脚本中我设置allow redirects True 我想知道该页面是否已重定向到其他内容 新的 URL 是什么 例如 如果起始 URL 为 www google c
  • Python speedtest.net,或等效的[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 是否有一个 Python 库可以实现 SpeedTest net 测试或等效的互联网连接速度测试 GitHub上有一个项目叫速度检查 https gi
  • 会话数据库表清理

    该表是否需要清除或者由 Django 自动处理 Django 不提供自动清除功能 然而 有一个方便的命令可以帮助您手动完成此操作 Django 文档 清除会话存储 https docs djangoproject com en dev to
  • Django TastyPie 地理距离查找

    我正在使用 TastyPie 进行地理距离查找 这有点困难 因为 TastyPie 官方不支持它 在 Github https gist github com 1067176 上我找到了以下代码示例 def apply sorting se
  • 使用会话在 Django 中将文件从一个视图传递到另一个视图

    我当前的工作项目要求我允许用户上传各种格式的文件 目前仅处理 CSV 格式 然后使用包含的数据来绘制图表Pandas http pandas pydata org 图书馆 我决定将图形渲染到模板的最简单方法是为图形创建特定视图 然后将图像从
  • 使用 ElementTree 在 python 中解析 xml

    我对 python 很陌生 我需要解析一些脏的 xml 文件 这些文件需要先清理 我有以下 python 代码 import arff import xml etree ElementTree import re totstring wit
  • Python:导入模块一次然后与多个文件共享

    我有如下文件 file1 py file2 py file3 py 假设这三个都使用 lib7 py lib8 py lib9 py 目前 这三个文件中的每一个都有以下行 import lib7 import lib8 import lib
  • 获取多个同名请求参数

    我的问题是给定的代码 from flask import Flask request app Flask name app route def hello return str request values get param None a
  • 如何从邻接表高效创建稀疏邻接矩阵?

    我正在与last fm http labrosa ee columbia edu millionsong lastfm数据集来自百万歌曲数据集 http labrosa ee columbia edu millionsong 数据以一组 j
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • 在Python中使用pil读取tif图像时出现值错误?

    我必须读取尺寸的tif图像2200 2200并输入 uint16 我将 PIL 库与 anaconda python 一起使用 如下所示 from PIL import Image img Image open test tif img i
  • 如何创建增量加载网页

    我正在编写一个处理大量数据的页面 它会永远持续到我的结果页面加载 几乎无限 因为返回的数据太大了 因此 我需要实现一个增量加载页面 例如 url 中的页面 http docs python org http docs python org
  • 将 Django 中的所有视图限制为经过身份验证的用户

    我是 Django 新手 我正在开发一个项目 该项目有一个登录页面作为其索引和一个注册页面 其余页面都必须仅限于登录用户 如果未经身份验证的用户尝试访问这些页面 则必须将他 她重定向到登录页面 我看到 login required装饰器会将
  • 如何在引发异常时将变量传递给异常并在异常时检索它?

    现在我只有一个空白的异常类 我想知道如何在引发变量时给它一个变量 然后在 try except 中处理它时检索该变量 class ExampleException Exception pass 为其构造函数提供一个参数 将其存储为属性 然后
  • py2exe ImportError:没有名为 的模块

    我已经实现了一个名为 myUtils 的包 它由文件夹 myUtils 文件 组成 init py 和许多名称为 myUtils 的 py 文件 该包包含在 myOtherProject py 中 当我从 Eclipse 运行它们时可以找到

随机推荐

  • MySQL:将列分成两部分

    我有一个表 其中的行如下 Country Number Country US 01 USA US 02 USA 我想将其修改为 Country Number Country US 01 USA US 02 USA 是否有捷径可寻 use 改
  • 垂直合并 WPF DataGrid 中的单元格

    我想做一个DataGrid在 WPF 中 如果某些单元相似 它们将 合并在一起 Example Country Name Age Lisa 24 Danmark Per 32 Hans 33 Germany Mick 22 有什么方法可以使
  • NSPredicate 相当于 SQL 的 GROUP BY

    简化一下 名为卡片的表中有 3 列 id pack标题术语 id 是一列 0 100 之间的整数 packTitle 描述包的字符串 假设有 3 种包 PACK 1 PACK 2 PACK 3 term 101 个项目的不同未排序名称 通过
  • 如何在 wxpython 中调整我的工具提示?

    我试图添加一个工具提示来显示截断的 ObjectListView 的完整内容 直到发现它内置了这样的功能 我尝试使用 wx TipWindow wx PopupWindow 和 SuperToolTip 制作自己的工具提示 但没有一个看起来
  • 在所有子文件夹中创建空文件

    我需要提取存档并在存档中包含的每个文件夹中创建一个空文件 我试过这个 for folder in ls d1 do touch folder COMPLETE done 工作得非常完美 直到有人创建了一个名称中带有空格的文件夹 如何对名称中
  • 从 log4net 配置部分访问 appSettings 配置值

    有谁知道是否可以从同一文件中的 log4net 配置部分访问配置文件的 appSettings 部分的键 值 不使用代码 例如
  • 阅读之前和之后的观察结果

    我有一个像这样的数据集 sp是一个指标 datetime sp ddmmyy 10 30 00 N ddmmyy 10 31 00 N ddmmyy 10 32 00 Y ddmmyy 10 33 00 N ddmmyy 10 34 00
  • 将 .resx 中的图像存储为 byte[] 而不是位图

    有点傻 但是 有没有办法阻止 Visual Studio 处理 jpg文件在一个 resx作为位图 以便我可以访问byte 代替资源的属性 我只是想 byte myImage My Resources MyImage 或者 右键单击您的 r
  • 按值的子数组过滤对象数组

    这是我正在尝试做的事情 movies title a genres Romance Comedy title b genres Drama Comedy title c genres Action Adventure filters Rom
  • file_get_contents('php://input') 对于一个用户返回空,但对于其他用户则工作正常

    我的网络服务器有一个非常奇怪的问题 我的服务器为 file get contents php input 显示一个空字符串 但仅针对一个用户 它对我和其他一些人来说工作得很好 但一个特定用户无法使用网站上使用 POST 请求的任何内容 因为
  • 标头包含在多个 C 文件中

    我有两个文件 foo c 和 bar c 分别编译gcc c然后链接 这两个文件都需要 stdio h 和 stdlib h 标头 我必须将它们都包含在其中吗 不觉得有点多余吗 我应该使用 ifdef 吗 最好的做法是什么 每个C文件都是不
  • LDAP:错误代码 49 - 80090308:LdapErr:DSID-0C0903A9,注释:AcceptSecurityContext 错误,数据 52e,v1db1

    LDAP 错误代码 49 80090308 LdapErr DSID 0C0903A9 注释 AcceptSecurityContext 错误 数据 52e v1db1 我知道 52e 代码是用户名有效但密码无效的情况 我在 apache
  • Rails 3.2.8 Application.js 和 Application.css 未按预期工作

    当我尝试包括 application css 文件的内容是 This is a manifest file that ll be compiled into application css which will include all th
  • 为什么弹性物品不包裹?

    我正在尝试制作多行具有相同高度的正方形 每行 3 个 我为此编写了一些 HTML 和 CSS 但这些框都位于同一行 这是我到目前为止所拥有的 list wrapper display flex width 100 list wrapper
  • 自动 XSD 验证

    根据 lxml 文档 DTD 是根据解析文档的 DOCTYPE 自动检索的 您所要做的就是使用启用了 DTD 验证的解析器 http lxml de validation html validation at parse time 但是 如
  • 简单的日志文件格式

    我不确定是否有人问过 但我找不到这样的东西 我的程序使用一个简单的 txt 文件用于日志目的 它只是创建 打开一个文件并附加行 一段时间后 我开始记录相当多的活动 因此文件变得太大并且难以读取 我知道 这不是写的方式来做到这一点 但我只需要
  • 在网页中嵌入视频 (HTML)

    我想在网页中嵌入视频 我不想使用 Flash 因为它不适用于大量平台 我不愿意使用 HTML5 因为它还不太标准 它是标准 但大多数人没有支持它的浏览器 还有其他办法吗 或者我应该坚持使用 HTML5 和一个巨大的横幅告诉人们升级他们的浏览
  • ASP.NET ConnectionString AttachDbFilename=|数据目录|

    这是关于 ConnectionStrings ASP NET MVC 与 Visual Studio 2012 Ultimate 和 SQL Server Express 2012 的内容 在此继续本教程 http www asp net
  • 与伞式框架的链接

    我有 ios 应用程序 我想在其中实现 Flurry analytics 导入 Flurry 并 ling libsystem network dylib 后 我遇到了这个无法解决的问题 ld cannot link directly wi
  • Django/mod_wsgi OSError: [Errno 13] 权限被拒绝: 当 DEBUG = OFF 时为“静态”

    我在 Centos 6 2 服务器 运行 apache mysql php 上有一个 Django 1 4 应用程序 使用 mod wsgi 并将我的项目部署在虚拟环境中 该应用程序本身是我在托管服务上使用多年的应用程序 现在我正在自己的机