在把Django项目部署到cpanel之前,我一直在尝试测试它
settings.py
STATIC_URL = '/static/' MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ]
字符串
xzlaal3s1#
=在项目urls.py中==
from django.contrib import admin from django.urls import path,include from django.conf import settings from django.conf.urls.static import static from django.urls import path urlpatterns = [ path("", include("myapp.urls")), path('admin/', admin.site.urls), ] urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
7gcisfzg2#
建议在开发时修改urlpatterns以提供静态文件。如果您想从已经为您的网站提供服务的同一服务器提供静态文件,该过程可能类似于:1.将代码推到部署服务器。1.在服务器上,运行collectstatic将所有静态文件复制到STATIC_ROOT中。1.配置您的Web服务器以在URL STATIC_URL下提供STATIC_ROOT中的文件。例如,以下是如何使用Apache和mod_wsgi实现此操作。如何在Apache和mod_wsgi中使用Django
urlpatterns
STATIC_ROOT
STATIC_URL
mod_wsgi
xxhby3vn3#
当我们使用debug=False时,Django不会处理媒体文件,所以在服务器端,我们必须像处理静态文件一样处理如果你使用Nginx,让它来服务媒体文件例如转到nginx/sites-available并添加此
location /media/ { root */home/myprojectdir/myproject*; }
3条答案
按热度按时间xzlaal3s1#
=在项目urls.py中==
字符串
7gcisfzg2#
建议在开发时修改
urlpatterns
以提供静态文件。如果您想从已经为您的网站提供服务的同一服务器提供静态文件,该过程可能类似于:
1.将代码推到部署服务器。
1.在服务器上,运行collectstatic将所有静态文件复制到
STATIC_ROOT
中。1.配置您的Web服务器以在URL
STATIC_URL
下提供STATIC_ROOT
中的文件。例如,以下是如何使用Apache和mod_wsgi
实现此操作。如何在Apache和mod_wsgi中使用Django
xxhby3vn3#
当我们使用debug=False时,Django不会处理媒体文件,所以在服务器端,我们必须像处理静态文件一样处理
如果你使用Nginx,让它来服务媒体文件
例如
转到nginx/sites-available并添加此
字符串