当为我的网站页面之一选择照片时遇到问题时,我几乎完成了我的Django投资组合的修复工作:
这里的问题是下拉列表没有显示任何内容!
我的models.py是
from django.db import models
class Project(models.Model):
title = models.CharField(max_length=100)
description = models.TextField()
technology = models.CharField(max_length=20)
image = models.FilePathField(path='/img')
我在主项目文件夹和静态文件夹上都有一个 / img 文件夹。
您可以在这里https://s3.amazonaws.com/django-error/problem1.mov看到我在说什么
我有什么想念吗?
答案 0 :(得分:0)
就像我说的,/img
是一条绝对路径。因此,django将在文件系统(即您的计算机)的顶级位置查找此文件夹。
要解决此问题,请使用目标文件夹的相对路径或完整路径。
但是,与其硬编码完整路径,不如以编程方式生成它似乎是一种更好的方法。这样的事情应该起作用:
import os
from django.conf import settings
class Project(models.Model):
...
# assuming `img` folder is inside main project directory
image = models.FilePathField(path=os.path.join(settings.BASE_DIR, 'img'))