在django中加载本地文件
loading local files in django
我在c:\images
中有一个文件夹,这里的图片是由另一个应用程序更新的。然后我想要一个 Django 应用程序来读取管理站点上的那些图像。 Django 应用程序位于 c:\inetpub\wwwroot\myapp
我尝试在 settings.py
中添加以下行
CURRENT_PATH = os.path.abspath(os.path.dirname(__file__))
MEDIA_ROOT = os.path.join(CURRENT_PATH, '../../images').replace('\','/')
MEDIA_URL = 'images/'
我还尝试在 admin.py
中包含 django admin 中的整个路径
def img_field(self, obj):
return format_html('<img src="{}" width="500" height="500" />'.format("c:\images\phot1.png"))
如果我放置在线图片 link 它工作正常,如下所示:
def img_field(self, obj):
img = "https://www.thebalancesmb.com/thmb/5G9LJXyFzbTVS-Fj_32sHcgJ8lU=/3000x0/filters:no_upscale():max_bytes(150000):strip_icc():format(webp)/start-online-business-with-no-money-4128823-final-5b87fecd46e0fb00251bb95a.png"
return format_html('<img src="{}" width="500" height="500" />'.format(img))
我该如何解决这个问题?
我明白了,我只需要在 urls.py
中添加以下几行
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
#urls here
]
urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
工作正常。
我在c:\images
中有一个文件夹,这里的图片是由另一个应用程序更新的。然后我想要一个 Django 应用程序来读取管理站点上的那些图像。 Django 应用程序位于 c:\inetpub\wwwroot\myapp
我尝试在 settings.py
CURRENT_PATH = os.path.abspath(os.path.dirname(__file__))
MEDIA_ROOT = os.path.join(CURRENT_PATH, '../../images').replace('\','/')
MEDIA_URL = 'images/'
我还尝试在 admin.py
中包含 django admin 中的整个路径def img_field(self, obj):
return format_html('<img src="{}" width="500" height="500" />'.format("c:\images\phot1.png"))
如果我放置在线图片 link 它工作正常,如下所示:
def img_field(self, obj):
img = "https://www.thebalancesmb.com/thmb/5G9LJXyFzbTVS-Fj_32sHcgJ8lU=/3000x0/filters:no_upscale():max_bytes(150000):strip_icc():format(webp)/start-online-business-with-no-money-4128823-final-5b87fecd46e0fb00251bb95a.png"
return format_html('<img src="{}" width="500" height="500" />'.format(img))
我该如何解决这个问题?
我明白了,我只需要在 urls.py
中添加以下几行from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
#urls here
]
urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
工作正常。