Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.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 使用Django的Openshift上的静态文件_Python_Django_Http Status Code 404_Openshift_Wsgi - Fatal编程技术网

Python 使用Django的Openshift上的静态文件

Python 使用Django的Openshift上的静态文件,python,django,http-status-code-404,openshift,wsgi,Python,Django,Http Status Code 404,Openshift,Wsgi,我找不到像css、js和picture这样的静态文件。我得到404错误页面 在my设置中,django我有 STATIC_ROOT = '/var/lib/openshift/*id*/app-root/repo/*project*/*app*' STATIC_URL = '/static/' 我的文件系统是 - project - app - wsgi.py - static # I also tried to move this folder in wsgi

我找不到像css、js和picture这样的静态文件。我得到404错误页面

在my设置中,django我有

STATIC_ROOT = '/var/lib/openshift/*id*/app-root/repo/*project*/*app*' 
STATIC_URL = '/static/'
我的文件系统是

 - project
   - app
     - wsgi.py
     - static # I also tried to move this folder in wsgi folder
       - css
         - base.css
     - ... 
我试图移动之前创建的wsgi文件夹中的静态文件夹。 我还尝试移动openshift的data文件夹中的我的静态文件夹或wsgi文件夹,但没有成功

我跟随Stackoverflow的几个帮助帖子,却没有找到我的答案

你能帮我配置我的静态文件夹吗


谢谢您的设置。请确保您有:

import os
import sys

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))


STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static_files'),
                   )  # create static_files dir and place there your static  
                      # files to be collected, as static is the destination
                      # directory of your local and other Django 
                      # modules static files 

STATIC_ROOT = os.path.join(BASE_DIR, 'static', )
STATIC_URL = 'http://yourdomain.com/static/'
完成后运行

 ./manage.py collectstatic 
确保你有一棵树一样的树

 yourproject+
            |
            +-yourproject
            |           | 
            |           +urls.py  
            |           |
            |           +settings.py
            |           |
            |           +wsgi.py
            |
            +manage.py
            |
            +static_files
            |
            +static

在您的settings.py中,确保您有:

import os
import sys

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))


STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static_files'),
                   )  # create static_files dir and place there your static  
                      # files to be collected, as static is the destination
                      # directory of your local and other Django 
                      # modules static files 

STATIC_ROOT = os.path.join(BASE_DIR, 'static', )
STATIC_URL = 'http://yourdomain.com/static/'
完成后运行

 ./manage.py collectstatic 
确保你有一棵树一样的树

 yourproject+
            |
            +-yourproject
            |           | 
            |           +urls.py  
            |           |
            |           +settings.py
            |           |
            |           +wsgi.py
            |
            +manage.py
            |
            +static_files
            |
            +static

您还需要确保将manage.py修改为:

import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourproject.settings")

    from django.core.management import execute_from_command_line  

    execute_from_command_line(sys.argv)
和wsgi.py

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourproject.settings")

application = get_wsgi_application()

您还需要确保将manage.py修改为:

import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourproject.settings")

    from django.core.management import execute_from_command_line  

    execute_from_command_line(sys.argv)
和wsgi.py

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourproject.settings")

application = get_wsgi_application()

在wsgi.py中,我必须

sys.path.append(os.path.join(os.environ['OPENSHIFT\u REPO\u DIR']))
os.environ['DJANGO\u SETTINGS\u MODULE']='project.SETTINGS.app'
在mysettings.py中

STATIC\u ROOT=os.path.join(os.getenv('OPENSHIFT\u REPO\u DIR'),'wsgi/STATIC',)
静态URL='/STATIC/'
还有我网站的文件系统

回购
项目
...
wsgi
静止的
wsgi.py

wsgi.py中,我必须

sys.path.append(os.path.join(os.environ['OPENSHIFT\u REPO\u DIR']))
os.environ['DJANGO\u SETTINGS\u MODULE']='project.SETTINGS.app'
在mysettings.py中

STATIC\u ROOT=os.path.join(os.getenv('OPENSHIFT\u REPO\u DIR'),'wsgi/STATIC',)
静态URL='/STATIC/'
还有我网站的文件系统

回购
项目
...
wsgi
静止的
wsgi.py

我尝试了你的帖子@dmitryro,但没有解决我的问题请更新你的wsgi.py和manage.py,看看你收到了什么具体的错误消息,如果我尝试了你的帖子@dmitryro,但没有解决我的问题请更新你的wsgi.py和manage.py,看看你收到了什么具体的错误消息,如果amyMy wsgi.py是好的。如果静态文件夹已满,我不必使用
/manage.py collectstatic
?您必须使用它,因为静态文件夹是获取文件的地方,而不是最初放置文件的地方。Django收集操作系统中所有已知位置的文件并将其放入static.STATICFILES_FINDERS=['Django.contrib.STATICFILES.FINDERS.FileSystemFinder','Django.contrib.STATICFILES.FINDERS.AppDirectoriesFinder',]#Django使用它来检查静态文件并将其设置为静态文件_ROOTcollectstatic确保您的静态文件是最新的,并且Django可以访问这些文件。谢谢@dmitryro,但即使我启动命令,我也无法访问静态文件。我的wsgi.py很好。如果静态文件夹已满,我不必使用
/manage.py collectstatic
?您必须使用它,因为静态文件夹是获取文件的地方,而不是最初放置文件的地方。Django收集操作系统中所有已知位置的文件并将其放入static.STATICFILES_FINDERS=['Django.contrib.STATICFILES.FINDERS.FileSystemFinder','Django.contrib.STATICFILES.FINDERS.AppDirectoriesFinder',]#Django使用它来检查静态文件并将它们设置为静态文件_ROOTcollectstatic确保您的静态文件是最新的,并且Django可以访问这些文件。谢谢@dmitryro,但是即使我启动命令,我也无法访问静态文件。我可以在.htaccess中写些什么吗?静态文件夹的apache配置是什么?这个位置在apache中是固定的?我可以在.htaccess中写一些东西吗?静态文件夹的apache配置是什么?这个位置在apache中是固定的吗?