由于settings.py中的uwsgi导入,无法使用manage.py

时间:2015-05-09 16:15:24

标签: python django uwsgi manage.py

我在生产服务器上使用django 1.8 + uwsgi + nginx。 uwsgi处于皇帝模式。我在myapp / settings.py中导入uwsgi python模块,以便在代码修改时启用自动重载。据我所知,这个python模块只有在uwsgi worker生成python线程时才可以导入。当我尝试手动使用manage.py collectstatic时,导入settings.py然后无法导入uwsgi.py。

有没有办法使用uwsgi python模块,同时仍然能够使用manage.py?

我用来启用自动重载的代码(在myapp / sttings.py中):

import uwsgi
from uwsgidecorators import timer
from django.utils import autoreload

@timer(3)
    def change_code_gracefull_reload(sig):
    if autoreload.code_changed():
        uwsgi.reload()

1 个答案:

答案 0 :(得分:1)

您应该能够捕获(function() { // store the slider in a local variable var $window = $(window); var flexslider; // tiny helper function to add breakpoints function getGridSize() { return (window.innerWidth < 320) ? 1 : (window.innerWidth < 600) ? 2 : (window.innerWidth < 800) ? 3 : (window.innerWidth < 900) ? 4 : 5; } $window.load(function() { $('#content .featured_carousel').flexslider({ animation: "slide", animationLoop: false, slideshow: false, itemWidth: 210, minItems: getGridSize(), // use function to pull in initial value maxItems: getGridSize(), // use function to pull in initial value start: function(slider) { flexslider = slider; } }); }); $window.resize(function() { var gridSize = getGridSize(); flexslider.vars.minItems = gridSize; flexslider.vars.maxItems = gridSize; }); }());例外并通过。

ImportError

或者,您可以为生产服务器使用不同的设置文件。这将导入常规try: uwsgi except ImportError: pass 文件中的设置,并包含自动重载的导入和代码。