Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从模板查看的Django调用脚本_Python_Html_Django_Django Forms_Django Templates - Fatal编程技术网

Python 从模板查看的Django调用脚本

Python 从模板查看的Django调用脚本,python,html,django,django-forms,django-templates,Python,Html,Django,Django Forms,Django Templates,我有一个视图,它显示从一个日期到另一个日期的关于某个项目的条目。项目模型称为“DNN”,时间在“Vnos”模型中 views.py: def po_nalogu(request, dnn = None): dnn = None form = PregledDNNForm( request.GET or None, ) from_date = get_month_start(timezone.now()) to_date = from_date + relativedelta(month

我有一个视图,它显示从一个日期到另一个日期的关于某个项目的条目。项目模型称为“DNN”,时间在“Vnos”模型中

views.py:

def po_nalogu(request, dnn = None):
dnn = None

form = PregledDNNForm(
    request.GET or None,
)
from_date = get_month_start(timezone.now())
to_date = from_date + relativedelta(months=1)
if request.GET:
    if form.is_valid():
        from_date, to_date, dnn = form.save()
entries_qs = Vnos.objects.filter(dna__dns__dnn = dnn)

month_entries = entries_qs.timespan(from_date, to_date=to_date).order_by('start_time')
sestevek = 0
for entry in month_entries:
    sestevek = sestevek + entry.hours

template = 'porocila/po_nalogu.html'
context = {
    'form' : form,
    'from_date': from_date,
    'to_date': to_date - relativedelta(days=1),
    'entries': month_entries,
    'sestevek' : sestevek,
}

return render(request, template, context=context)
if request.POST:
    context = {
        'request' : request,,
        'from_date': from_date,
        'to_date': to_date - relativedelta(days=1),
    }
    html_string = render_to_string("pdf.html", context)
    html = HTML(string = html_string)
    pdf = html.write_pdf()
    response = HttpResponse(pdf, content_type = 'application/pdf')
    response['Content-Disposition'] = 'attachment; filename="FILENAME.pdf"
    return response
现在,我想添加一个条件句,这样我就可以打印PDF了。有没有办法添加以下内容:

if request.method == "PDF"
    do code
在模板中:

<form action="" method="PDF">
    <input type="submit" />
</form>

我不想对PDF文件进行单独的查看,因为它的开始日期和结束日期,因为它需要多次计算。
谢谢你

嗯,如果你想发送一个自定义参数,你可以这样做:

<form method="GET" action="/path/to/action/?pdf">

嗯,如果要发送自定义参数,可以执行以下操作:

<form method="GET" action="/path/to/action/?pdf">

我用POST方法解决了这个问题,因为GET方法覆盖了模板中previus表单中的参数。Previus参数是从_日期到_日期。这意味着GET方法with action=“?pdf”会将其他所有内容设置为空,并添加“?pdf”

然而,这一点非常有效

模板:

<form action="" method="PDF">
    <input type="submit" />
</form>
<form method="POST" action="" class="pull-right">
{% csrf_token %}
    <button type="submit"> PDF</button>
</form>

我用POST方法解决了这个问题,因为GET方法覆盖了模板中previus表单中的参数。Previus参数是从_日期到_日期。这意味着GET方法with action=“?pdf”会将其他所有内容设置为空,并添加“?pdf”

然而,这一点非常有效

模板:

<form action="" method="PDF">
    <input type="submit" />
</form>
<form method="POST" action="" class="pull-right">
{% csrf_token %}
    <button type="submit"> PDF</button>
</form>

是的,我试过了,但没有成功。这背后的原因是我通过GET方法传递表单的参数,表单包含在模板中。参数是from_date和to_date。这意味着在使用?pdf执行操作后,所有内容都会重置。是的,我尝试过,但没有成功。这背后的原因是我通过GET方法传递表单的参数,表单包含在模板中。参数是from_date和to_date。这意味着在使用?pdf执行操作后,所有内容都会重置。