[英]In django, what is correct setup for media deployment on python anywhere
我正在嘗試在任何地方的python上部署django應用程序,但我相信media_urls或media_root可能設置不正確。 我還花了一些時間試圖弄清楚如何在Django上打印所有有效的url,但是在此鏈接上對我沒有任何幫助。 Django:如何查看urlpatterns列表? 。
我收到“ ModuleNotFoundError:沒有名為'django.core.urlresolvers'的模塊”
from .base import *
DEBUG = False
ALLOWED_HOSTS = ["*"]
MEDIA_ROOT = os.path.join(BASE_DIR, "images")
MEDIA_URL = '/snapcapsule/'
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static")
回答
圖像的靜態文件映射位於/ images,但是您正在從/ snapcapsule / images訪問圖像。 更改您的media_url或您的靜態文件映射,以使它們匹配。
大多數情況下,我使用本地的django和服務器中的nginx來處理靜態和媒體。
在當地:
# at the end of urls.py
if settings.DEBUG:
# debug toolbar
import debug_toolbar
urlpatterns.insert(0, path("__debug__/", include(debug_toolbar.urls)))
# static and media
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns.extend(
staticfiles_urlpatterns()
+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
)
在服務器中:
# nginx.conf
server {
...
location /static/ {
alias /path/to/project/static_collection/;
}
location /media/ {
alias /path/to/project/media/;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.