繁体   English   中英

Django:在View中传递参数并显示在页面上

[英]Django: Pass arguments in View and display on the page

说,我在views.py有2个视图: Fetching_information_viewProcessing_view

Fetching_information_view我正在获取要在"home.html"页面上以表格格式显示给用户的信息。 没关系的

现在,我也为每行获得一个CSV URL。 我不希望用户单击CSV URL时应打开CSV。 相反,当用户单击它时,它应该转到Processing_view ,并且应该在另一个HTML页面(例如"process.html"上进行投放。

CSV网址:

/some_bucket/some_csv_file.csv?AWSAccessKeyId=some_id&Expires=1234&Signature=some_signature

所需网址:

http://example.com/process.html?file=some_bucket/some_csv_file.csv?AWSAccessKeyId=some_id&Expires=1234&Signature=some_signature

现在,如何从Fetching_information_view视图调用Processing_view并发送文件信息? 它应该在后端处理并在process.html上显示结果。

这是我在首页上显示的表格:

在此处输入图片说明

我已经为views.py使用了示例代码:

def process_data(request):
    # what should come here?
    # Display in process.html


def home(request):
    some_data = SomeTable.objects.filter(user = request.user)
    args = {"some_data": some_data}
    # display as table on home.html, including URLs it is carrying
    return render(request, "home.html", args)

如果您不想公开CSV文件的URL,则不要将其添加(也不要公开URL参数)到home视图和模板的上下文中。

因此,假设您已经为process_data视图创建了一个名为process_view的urlpattern,那么在home.html模板中,您可以仅使用href="{{% url 'process_view' %}?id={{ id }}"来添加id对象到您请求的URL参数中。

然后在process_data视图中,可以得到这个idid = request.GET.get('id')取得与该模型id和重建的CSV URL和文件参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM