簡體   English   中英

如何將圖像添加到我的 django 數據庫並在前端顯示

[英]how can I add Image to my django database and display it in frontend

我正在 Django 中創建一個博客網站。 我想添加一個功能,用戶可以使用該功能上傳表單中的圖像,該圖像將用作該博客的縮略圖。 我在models.py文件中添加了imageField ,現在我不知道如何在表單部分從用戶那里獲取圖像輸入?

發布models.py:

class Post(models.Model):
    sno = models.AutoField(primary_key=True)
    thumbnail = models.ImageField(null=True, blank=True, upload_to="images/")
    title = models.CharField(max_length=50)
    content = RichTextField(blank=True, null=True)
    author = models.CharField(max_length=50)
    slug = models.CharField(max_length=200)
    timeStamp = models.DateTimeField(auto_now_add=True)

    class Meta:
        ordering = ['-timeStamp']

    def __str__(self):
        return self.title + " by " + self.author

html表格:

 <form action = "{% url 'addblog' %}" method="post">

        <div class="form-group">
            <label for="title" id="Title">Title</label>
            <input type="text" class="form-control" id="title" name="title"/>
            
        </div>
        {% csrf_token %}
        <div class="form-group">
           
            
            <textarea name="content"></textarea>
            <script type = 'text/javascript'>
                CKEDITOR.replace("content")
            </script>
        </div>

        <button type="submit" class="btn btn-primary my-1" id='contact-button'>Post</button>
    </form>

目前, add blog page如下所示:

在此處輸入圖片說明

現在我想要在內容文本區域之后choose file選項,用戶可以在其中上傳圖像,然后將該圖像保存在數據庫中,之后我可以在前端的博客部分顯示該圖像。

pip install pillow

<form>更改為:

<form method="post" enctype="multipart/form-data">
<input type='file' name='imagefile'>

需要“multipart/form-data”從表單發送圖像或文件。

在 settings.py 中添加代碼:

MEDIA_URL = '/media/'

在 views.py 中,如果您使用基於函數的視圖,請執行以下操作:

image = request.FILES.get('imagefile')
post = Post()
post.thumbnail=image

添加模型的其他字段。

使用post.save()命令保存模型。

image.filename 返回圖像的新文件名。

它將直接將圖像保存在 media/images/ 文件夾中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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