0
我正在使用python和django创建一个站点。我有2个模型,动作和图像:使用Python将变量传递给html页面Django
class Action(models.Model):
name = models.CharField("Action name", max_length=50)
keywords = models.CharField("Keywords", max_length=50)
object = models.CharField("Object", max_length=50, blank=True, null=True)
uploadDate = models.DateField("Date", default=get_current_date)
UploadedBy = models.CharField("UploadedBy", max_length=50, default="")
class Image(models.Model):
image = models.FileField(upload_to=get_upload_file_name, default="")
action = models.ForeignKey(Action)
我创建了一个组合的窗体,允许用户创建一个动作并添加图像。 现在我正在尝试制作一个表单,用户只能从当前页面上查看动作,然后上传一张图片,与动作相关。
下面显示ActionDetails HTML模板:点击
<ul>
<li><h3> Name: </h3> {{ action.name }} </li>
<li><h3> Keywords: </h3> {{ action.keywords }} </li>
<li><h3>Uploadedby: </h3> {{ action.UploadedBy }}</li>
{% if action.object %}
<li><h3>Object:</h3> {{ action.object }}</li>
{% endif %}
</ul>
<p><a class="btn btn-default" href="img">Add Image »</a></p>
{% if image.image %}
<p><h3>Image:</h3><img src= "/static/app/{{image.image}}" width='300'/></p>
{% endif %}
我想,一旦窗体打开(BTN“添加图片”),该action.id传递给ImageForm页面。
views.py:
def addimg(request):
if request.method == "GET":
form = ImageForm;
return render(request,'app/createForm.html', { 'form':form })
elif request.method == "POST":
form = ImageForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return HttpResponseRedirect('/actions')
else:
form = ImageForm;
return render(request, 'app/createForm.html', { 'form':form })
是否有这样做的一种方式?
尝试使用Django窗体和一些引导的输入方法,例如''在计算机中选择文件并将其上传到项目(站点)中的特定文件夹非常容易 –