![](/img/trans.png)
[英]How to pass additional arguments to class view in django?
[英]Django: Pass arguments in View and display on the page
说,我在views.py
有2个视图: Fetching_information_view
和Processing_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
视图中,可以得到这个id
由id = request.GET.get('id')
取得与该模型id
和重建的CSV URL和文件参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.