Python 3.x 赋值前引用的局部变量x-Django

Python 3.x 赋值前引用的局部变量x-Django,python-3.x,django,django-models,django-views,django-forms,Python 3.x,Django,Django Models,Django Views,Django Forms,我必须从POST请求中获取数据值并将其写入Word文档。但我犯了个错误。我怎样才能解决这个问题 def military_document(request): if request.method == 'POST': form = CreateMilitaryDocumentForm(request.POST, request.FILES, use_required_attribute=False) if form.is_valid():

我必须从POST请求中获取数据值并将其写入Word文档。但我犯了个错误。我怎样才能解决这个问题

def military_document(request):
    if request.method == 'POST':
        form = CreateMilitaryDocumentForm(request.POST, request.FILES, use_required_attribute=False)
        if form.is_valid():
            group_degree = request.POST.get('group_degree')
            print(group_degree)
            form.save()
            messages.success(request, 'Added successfully !')
            return HttpResponseRedirect('military_document')
    else:
        form = CreateMilitaryDocumentForm(use_required_attribute=False)
    doc = DocxTemplate("../document.docx")
    context = {
        'form': form,
        'group_degree': group_degree,
    }
    doc.render(context)
    doc.save("generated_doc.docx")
    return render(request, 'military_document.html', context)

我不确定你在doc.renderContext等中做了什么,如果你想在渲染中使用group_DEGRE,你需要在表单内部进行渲染。group_是否有效。

我假设变量是group_DEGRE?@WillemVanOnsem,是的,先生。如果GET请求,你永远不会给group_DEGRE赋值,那么group_degree在上下文中应该是什么{ ... }@WillemVanOnsem,我很抱歉,先生,但是没有得到答案。如果request.method='POST',那么你将group_degree设置为request.POST.get'group_degree'。如果request.method不是'POST',那么你不会将group_degree设置为任何东西,但是你仍然尝试在上下文中使用它。你认为它有什么价值?伙计,你救了我的职业。比非常感谢你!!!
def military_document(request):
    if request.method == 'POST':
        form = CreateMilitaryDocumentForm(request.POST, request.FILES, use_required_attribute=False)
        if form.is_valid():
            group_degree = request.POST.get('group_degree')
            print(group_degree)
            form.save()
            messages.success(request, 'Added successfully !')
            doc = DocxTemplate("../document.docx")
            context = {
                'group_degree': group_degree,
            }
            doc.render(context)
            doc.save("generated_doc.docx")
            return render(request, 'military_document.html', context)
    else:
        form = CreateMilitaryDocumentForm(use_required_attribute=False)
    
    return render(request, 'military_document.html', {'form': form})