簡體   English   中英

在Django中,什么是在任何地方的python上進行媒體部署的正確設置

[英]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")

我在pythonanywhere上設置路徑的圖片 圖片獲取圖片請求

回答

回答

圖像的靜態文件映射位於/ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM