【发布时间】:2016-02-16 13:42:02
【问题描述】:
我已经设法使用 django 配置了一个系统,该系统允许我将文件上传到我的媒体文件夹。我(使用 simple-html)包含一个下拉菜单,该菜单将指定在管道中处理上传文件时将考虑的参数。
<form action="{% url "list" %}" method="post" enctype="multipart/form-data">
<tr>
{% csrf_token %}
<p>{{ form.non_field_errors }}</p>
<p>{{ form.docfile.label_tag }} {{ form.docfile.help_text }}</p>
<p>
{{ form.docfile.errors }}
{{ form.docfile }}
</p>
</tr>
<tr>
<th>Genome Dataset</th>
<TD WIDTH = 80% ALIGN=left VALIGN=top>
<SELECT NAME='genome' ID='genome'>
<OPTION>All</OPTION>
<OPTION>Neanderthal</OPTION>
<OPTION>hg38 Human</OPTION>
<OPTION>Denisovan</OPTION>
</SELECT>
</tr>
<p><input type="submit" value="Upload"/></p>
</form>
我需要将选定的下拉选项发送到文本文件。我试图在views.py中这样做。然而。当文件成功上传到媒体文件夹时,媒体文件夹中没有任何文本文件清单 - 这是需要的。
def GenomesView(request):
if request.method == 'GET':
getgen = request.GET.get('genome')
content = ContentFile(getgen)
f = open(os.path.join(settings.MEDIA_ROOT, 'file.txt'), 'w')
myfile = File(f)
myfile.write(getgen)
myfile.close()
媒体文件夹的位置如下设置。
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
因此我的问题是如何从下拉列表中选择所选选项,并且每次将文件上传到站点时,选择都会发送到文本文件,每次新提交时都会覆盖该文本文件(充当所选选项参数的临时存储,即“Neanderthall”等,如上面的代码所示)?
【问题讨论】:
标签: python django file-handling