私はDjangoの初心者です。現在、Django Adminにアップロードされた画像を表示する際に問題があります。私は多くのポストされたQとここにスタックオーバーフローではなく、私の問題で働いたそれらの。私はここでコーディング忍者のアクティブな任意のこの問題に私を助けることができることを願っています。ここでは、問題の詳細図は次のとおりです。Django Admin:正しい画像アップロードパスを決定してください
私はこれがmodels.pyの私のアップロードモデルですsettings.py
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) MEDIA_ROOT = os.path.join(BASE_DIR, "media") MEDIA_URL = "/media/"
でMEDIA_ROOTとMEDIA_URLを定義しています
from django.utils.html import mark_safe class ImageDetails(models.Model): image = models.ImageField(null=True) def image_img(self): if self.image: return mark_safe('<img src="%s" height="125px" width="125px"/>' % (self.image.url)) else: return '(No image found)' image_img.short_description = 'Thumbnail'
私のアプリケーションでurls.py:
私のadmin.pyでurlpatterns = [ url(r'^inputImage', views.inputImage, name='inputImage'), url(r'', views.index), ] urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
:
class ImageDetailsAdmin(admin.ModelAdmin): fields = ["image"] #for file upload list_display = ("image_img",) admin.site.register(ImageDetails, ImageDetailsAdmin)
イメージが正常にPROJECTDIR /メディアで保存しました。 HTMLはimgタグにurl:http://127.0.0.1:8000/media/imagename.jpgを返します。しかし、ページはイメージをロードできません(私はURLを使用するときはいつでもインデックスページにリダイレクトされますhttp://127.0.0.1:8000/media/imagename.jpg)。私はDjangoバージョン1.10を使用しています
MEDIA_URLをチェックします。あなたは2回割り当てられました。最初の出現でMEDIA_ROOTを使うつもりだと思います。 – Abhinav
Opps。実際には元のコードのメディアルートでした。ここで編集を完了します。 – jonilyn2730