resul.html加载时没有出现错误,但merge.py中的函数merge没有执行



当用户在create_proposal.html中输入了他的输入时,我想调用文件merge.py中的合并函数。我的merge.py文件看起来像:

from __future__ import print_function
from mailmerge import MailMerge
def merge(name, refer):
template = 'template.docx'
document = MailMerge(template)
document.merge(
reference = refer
)
print('merge')
document.write(name)

我的views.py文件看起来像:

from django.shortcuts import render
from django.http import HttpResponse
from .forms import createNewFinancial
from .merge import merge
def inputPage(request):
if request.method == 'POST':
form =createNewFinancial(request.POST)
if form.is_valid():
name = form.cleaned_data['name']
reference = form.cleaned_data['reference']
merge(name, reference)
form = createNewFinancial()
return render(request, 'create_proposal.html', {'form': form})
def resultPage(request):
return render(request, 'result.html')

模板create_proposal.html看起来像:

{% extends 'base.html' %}
{% block content %}
<div class="row">
<div class="col-sm-4" style="margin-left: 10vw;">
<h2>New Financial Proposal</h2>
<form class="form-group" action="result/" method="post"> {% csrf_token %}
{{form}}<br><br>
<input type="Submit" class="btn btn-primary" value="Create"/>
</form>
</div>
</div>
{% endblock content %}

我正在尝试根据用户在create_proposal.html中输入的文件名创建一个word文档,并使用mailmerge将用户输入的参考号合并到模板中

我已经解决了我的问题,我试图在inputPage函数中调用我的函数,而我本应该把它放在resultPage函数中。

因此views.py文件应该看起来像:

from django.shortcuts import render
from django.http import HttpResponse
from .forms import createNewFinancial
from .merge import merge
def inputPage(request):

form = createNewFinancial()
return render(request, 'create_proposal.html', {'form': form})
def resultPage(request):
if request.method == 'POST':
form =createNewFinancial(request.POST)
if form.is_valid():
name = form.cleaned_data['name']
reference = form.cleaned_data['reference']
print(name)
merge(name, reference)
return render(request, 'result.html')

最新更新