为什么我的图片没有显示在我的模板上

时间:2019-12-30 20:23:15

标签: python django postgresql image templates

我的目标是用户可以上传新的漫画封面图像和漫画标题。我想在模板上显示图像,但是它在我的命令行中显示。

Not Found: /media/onepiece.jpg

在我的Postgressql中添加了它。我唯一看到的是一个带有白色云朵和绿色山丘的文件。我还安装了枕头。我的媒体文件夹包含 images 子文件夹,并且为空。我真的很困惑,因为错误消息是在 media文件夹中查找的,但不是 images 的更深一层。

settings.py

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

应用

models.py

class Manga(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    img = models.ImageField(upload_to='images', blank=True)
    title = models.TextField(default=None, null=True)

views.py

def manga_post(request):
    manga_img = request.POST.get('manga_img')
    manga_title = request.POST.get('manga_title')

    manga_conf= Manga.objects.get(user_id=request.user.id)
    manga_conf.img = manga_img
    manga_conf.title = manga_title

    manga_settings.save()
    return redirect('settings_manga')

模板(帖子在哪里出现)

<div class="container">
    <form action="{% url 'post_manga' %}" method="POST" class="form-horizontal">
    {% csrf_token %}

        <div class="row">
            <div class="col-md-6">
                {% if manga.img %}
                    <img src="{{ manga.img.url }}" alt="Add Manga Picture">
                {% else %}
                    <img src="https://image.flaticon.com/icons/png/512/43/43254.png"
                         alt="" class="manga-img">
                {% endif %}
            </div>
            <div class="col-md-6">
                <div class="input-group mb-3">
                    <div class="custom-file">
                        <input type="file" class="custom-file-input" id="manga-image-input" name="manga_img">
                        <label class="custom-file-label" for="imageGroup" id="img-label">Choose Image</label>
                    </div>
                </div>
            </div>
        </div>
</form>

我在网上搜索了很多内容。我见过很多SO Post关于人们是否忘记将静态信息添加到urlspatterns或应用程序级别的信息。这不能解决这个问题。

项目中的urls.py

urlpatterns = [
    path('mangas/', include('manga.urls')),
    path('admin/', admin.site.urls),
]
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += staticfiles_urlpatterns()
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
从应用程序

urls.py

urlpatterns = [
    path('', views.mangas, name='mangas'),
    path('post', views.post_manga, name='post_manga'),
]

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += staticfiles_urlpatterns()
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

希望我能进行一些编辑,如果您需要帮助,请注意我。我真的很挣扎。

最佳问候 马库斯

0 个答案:

没有答案
相关问题