gpt4 book ai didi

python - django 2 如何上传和显示图像?

转载 作者:行者123 更新时间:2023-12-01 07:47:44 25 4
gpt4 key购买 nike

我尝试对路径进行硬编码,但没有任何效果。我的代码有什么问题吗?我收到 404 错误并且图像未显示。

设置.py

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static/')

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'blog/media')

模型.py

image = models.ImageField(upload_to = 'media/', blank = True)

url.py

urlpatterns = [...] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

表单.py 类 PostForm(forms.ModelForm):

    class Meta:

model = Post
fields = ('author','title', 'text','image')

widgets = {
'title': forms.TextInput(attrs={'class': 'textinputclass'}),
'text': forms.Textarea(attrs={'class': 'editable medium-editor-textarea postcontent'}),
}

html

        <img src="{{post.image.url}}">

最佳答案

static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

据我了解,您正在尝试使 django 以此来提供静态文件,静态文件和媒体是分开的,您所拥有的那一行提供驻留在 STATIC_ROOT 中的 css、js 等静态信息而您需要提供MEDIA_ROOT所以

static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

添加这部分应该可以,但我强烈建议不要在实际部署中使用它,媒体文件应该由像 nginx 这样的 Web 服务器而不是应用程序服务器来处理。

关于python - django 2 如何上传和显示图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56367718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com