Déploiement de Django2.0 --- Échec du chargement du fichier statique statique

Lorsque Django est Debug=True, aucune configuration n'est requise. Django recherchera le chemin STATIC dans l'application. Lorsque le projet est déployé et mis en ligne, fermez DEBUG et vous constaterez que tous les fichiers statiques ne parviennent pas à charger 404.

environnement:

apache2.4

django2.0

python3.7

configurer

1. Fichier httpd.conf

Alias /static/ /var/www/xxx/static/(你自己的static文件路径)
Alias /media/ /var/www/xxx/media/

(Remarque sur les fichiers de déploiement nginx)

 location /static{
       alias /var/www/xxx/static;(你自己项目static路径)
   }
   location /media{
        alias /var/www/xxx/media;
   }

2. fichier setup.py

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        # 'DIRS': [os.path.join(BASE_DIR, 'templates/').replace('\\', '/')] (linux系统)
        'DIRS': [os.path.join(BASE_DIR, 'templates/')]
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
INSTALLED_APPS添加-- 'django.contrib.staticfiles' ,
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'apps.XXX',
    'apps.XXX',
]
#找一处添加
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(os.path.dirname(__file__),'static')
STATICFILES_DIRS=[os.path.join(BASE_DIR, 'static')]
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "media")

3, urls.py ajouter

#导包
from . import settings
from django.conf.urls.static import static



#添加这行(末尾)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

4. Collectez des fichiers statiques

#执行收集静态资源这句
python manage.py collectstatic  

 

Je suppose que tu aimes

Origine blog.csdn.net/hard_days/article/details/102716491
conseillé
Classement