出于某种原因,我无法使用Django上传图像。模型正在保存文件名,但将文件保存在我的媒体文件夹中。用Django加载图像
这是我型号
class Quiz(models.Model):
name = models.CharField(
verbose_name ='Quiz Title',
max_length = 50
)
description = models.TextField(
blank = True,
null = True,
verbose_name = 'Quiz Description'
)
pool = models.ForeignKey (
Pool,
verbose_name = 'Category of Quiz',
)
categories = models.ManyToManyField (
Category,
through = 'QuizCategory',
related_name = 'category',
verbose_name = 'Category',
help_text = 'Categories in this Quiz'
)
live = models.BooleanField (
verbose_name = 'Quiz is Live?',
default = False,
)
logo = models.ImageField(
upload_to = 'logos',
blank = True,
)
def __unicode__(self):
return u'%s' % (self.name)
这是我修正查看
def create_quiz(request):
if request.method == "POST":
form = QuizForm(request.POST, request.FILES)
if form.is_valid():
# file is saved
form.save()
编辑
这是FORM声明
class QuizForm (forms.ModelForm):
class Meta:
model = Quiz
fields = ('name', 'description', 'pool', 'categories', 'live', 'logo')
HTML
<form method="post" action="{% url 'create-quiz' %}" enctype="multipart/form-data" >{% csrf_token %}
<input hidden name="id" value="{% if quiz.id %}{{quiz.id}}{% else %}0{% endif %}" readonly>
<div class="col-xs-12 col-sm-8 col-md-6 col-md-offset-2">
<input required type="text" name="name" {% if quiz.name %}value="{{quiz.name}}"{% else %}placeholder="Quiz Name"{% endif %} class="form-control quiz-search-box">
<textarea required name="description" {% if quiz.description %}{% else %}placeholder="Quiz Description"{% endif %} class="form-control quiz-search-box">{% if quiz.description %}{{quiz.description}}{% endif %}</textarea>
<select name="pool" class="form-control quiz-search-box">
{% for p in pool %}<option value="{{p.name}}" {% if quiz.pool.name == p.name %}selected{% endif %}>{{p.name}}</option>{% endfor %}
</select>
<h2>Questions</h2>
<table class="table table-condenced">
{% for q in questions %}
<tr><td>{{q.name}}</td></tr>
{% endfor %}
{% if quiz != 'new' %}
<a data-toggle='modal' data-target='#myQuestionModal' class="btn btn-primary">Add Question</a>
{% endif %}
</table>
</div>
<div class="col-xs-12 col-sm-4 col-md-2 ">
<span class="number-of-questions">
Number of questions in this quiz: {{questions|length}}
</span>
<span class="add-quiz-logo">
{% if quiz.logo %}
<img id="logo" src="/media/{{quiz.logo}}" width="150" alt="Logo spacer" />
{% else %}
<img id="logo" src="{% static '/img/no-logo.png' %}" width="150" alt="Logo spacer" />
{% endif %}
<input id="id_image" type="file" class="" name="logo" onchange="readURL(this);">
</span>
<div>
<input type="submit" value="Save Quiz" class="btn btn-primary" />
</div>
</div>
</form>
帮助深受欢迎。谢谢
您是否安装了枕头? – PetarP
我们没有看到您的html,但不要忘记在文档
我已经忘记了,但我现在已经添加,但仍然不能正常工作 – HenryM