Я хочу отправить данные между двумя представлениями в Django. Основной лог c заключается в том, что в главном маге у меня есть простая форма, в которую я ввожу URL. После отправки я удаляю данные с этого URL и перенаправляю на конечную точку / боке. С этой конечной точки я хочу go до конечной точки / дней (с панели навигации) и работать с тем же данным URL. Я пытался использовать сессию, но это не сработало. Мой код выглядит так:
views.py
def home(request):
if request.method == 'POST':
url = request.POST['url']
request.session['url'] = url
return redirect('bokeh',url=url)
return render(request,'home.html')
def bokeh(request,url):
cl = CalculationLogic()
return cl.get_data_from_url(request,url)
def days(request,url):
cl = CalculationLogic()
url = request.session.get('url')
return cl.show_days_of_the_week(request,url)
Итак, после отправки данных из дома. html в боке, все в порядке, и я делаю все CalculationLogi c. Когда я хочу go дней, я получаю ошибку NoReverse Match:
NoReverseMatch at /days/https://github.com/USER/PROJECT/commits/master
Reverse for 'days' with keyword arguments '{'url': ''}' not found. 1 pattern(s) tried: ['days/(?P<url>.+)']
, и мои URL выглядят так:
urlpatterns = [
....
url(r'^days/(?P<url>.+)',views.days,name='days'),
....
]
в моей базе. html файл, который я имею:
<body>
<nav>
<a class="nav-link" href="{% url 'days' url=url %}">Days</a>
</nav>
</body>
Кто-нибудь знает, почему это умывание не работает?