我正在用django中的用户输入创建一个docx文件。目前,当点击submit按钮时,会生成下载链接,用户可以下载文件。但是,我想将文件保存在文件存储中,并创建一个模板,用户可以在其中查看他过去创建的所有docx文件(或超链接)。“有点像数据库”
models.py
class Timetables(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE,
default=1, related_name='timetables_files', null=True)
timetable_files = models.FileField(
null=True, blank=True, upload_to='word_documents')
views.py
def school_view(request):
if request.method == 'POST':
worddocument = docx.Document()
documenttitle = worddocument.add_heading(
school_name_view.title(), 0)
file = io.BytesIO()
worddocument.save(file)
response = HttpResponse(
content_type='application/vnd.openxmlformats-
officedocument.wordprocessingml.document')
response['Content-Disposition'] = 'attachment; filename =quicktimetable.docx'
worddocument.save(response)
path = join(settings.MEDIA_ROOT, 'word_documents',
'quicktimetable.
file = open(path, 'w+b')
return response
class TimetablesView(ListView):
model = Timetables
template_name = 'quickmain/timetables_list.html'
timetables\u list.html
{% if user.is_authenticated %}
{% for f in files %}
{{ f.files.url }}
{% endfor %}
{% for timetable_files in user.timetables_files.all %}
<embed src = "{{timetable_files.timetable_files.url}}" target="__blank">
{% endfor %}
{% else %}
如何保存生成的文件并在不同的模板上显示与该用户相关的所有文件。 我的models.py中有一个文件字段,但不知道如何使用它。我得到一个建议,每当用户要求重新生成文件,但我也不知道这一点
您必须在文件和用户模型之间创建关系。 实例 在您的型号中
然后在您的视图中
在模板中
相关问题 更多 >
编程相关推荐