【发布时间】:2020-06-05 23:56:36
【问题描述】:
在我的应用中,我想创建最喜欢的系统:
- 用户输入网址
- 计算一些数据
- 然后用户可以将此链接添加到收藏夹
点击添加后,用户被重定向到返回他所有收藏链接的其他端点。在这一点上,我想添加允许用户单击他最喜欢的一个,返回到其他视图并计算一些数据的可能性。
我的views.py
def home(request):
"""this function returns form which allows user to input link"""
if request.method =='POST'
url = request.POST['url']
request.session['url'] = url
return redirect('bokeh')
return render(request,'base.html')
在此之后,bokeh.html 被返回并有一些类似图表的数据
def bokeh(request):
url = request.session.get('url')
cl = CalculationLogic()
return cl.get_data_from_url(request,url)
在这个视图中,有一个按钮可以添加到收藏夹。点击后,方法被调用:
def favorites(request):
url = request.session.get('url')
repo = Repository(url=url,user=request.user)
repo.save()
repo.repositorys.add(request.user) #adding value to ManyToMany field
user = User.objects.get(username=request.user.username)
repos = user.users.all() #return all url which current user has in favorites
return render(request,'favorites.html',{'repos':repos})
在我的 favorites.html
{% extends 'bokeh.html' %}
{% block content %}
<h1>Favorites repositorys for {{ user }}</h1>
{% for r in repos %}
<br><a href="{% url 'bokeh' %}">{{ r }}</a>
{% endfor %}
{% endblock %}
所以,此时我会显示所有用户最喜欢的存储库。单击其中一个后,我想返回 bokeh view 并根据单击的 url 返回不同的数据。有没有简单的方法来解决这个问题?
【问题讨论】:
标签: python django view parameter-passing