【问题标题】:Populating Django SQL Database填充 Django SQL 数据库
【发布时间】:2021-02-01 13:06:44
【问题描述】:

我想为我可以使用 django 访问的图像创建一个数据库。对于模型,我想按照这些思路创建一些东西

class Images(models.Model):
    Image_loc = models.CharField(max_length = 200)
    Image_year = models.CharField(max_length = 200)
    Image_date = models.DateTimeField('date taken')

其中 image_loc 是图像文件的位置,而 image_year 是图像的拍摄年份。我想用多个图像填充数据库。我是网站设计和 django 的新手,想知道是否有人知道我该怎么做?

【问题讨论】:

标签: python html sql django web


【解决方案1】:

对于图像,您应该使用ImageField。您需要安装一个名为 Pillow 的库才能使其工作(根据我刚刚链接的 Django 文档)。为此,只需运行:

python -m pip install Pillow

您还需要设置您的MEDIA_ROOT 和MEDIA_URL(更多关于here)。您需要做的就是将此附加到您的项目settings.py:

# Media files
# https://docs.djangoproject.com/en/dev/topics/files/

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

MEDIA_URL是图片的url路径。 MEDIA_ROOT 是图片文件的位置。

然后,将其添加到您的项目(不是应用程序)的 urls.py:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('admin/', admin.site.urls),
    ...
]

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

如果您以这种方式进行设置,则不需要image_loc 字段,因为它由ImageField 自动管理。您可以将该字段替换为新的 ImageField。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    • 2011-08-29
    • 2010-12-25
    • 2019-05-02
    • 2015-07-31
    • 2013-06-02
    • 1970-01-01
    相关资源
    最近更新 更多