# Passing data between views

**URL:** <https://forum.djangoproject.com/t/passing-data-between-views/3309>\
**Category:** Using Django\
**Created:** [July 6, 2020, 7:27pm UTC](https://forum.djangoproject.com/t/passing-data-between-views/3309 "2020-07-06T19:27:21Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![waleed3011](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/waleed3011/32/1588_2.png) [@waleed3011](https://forum.djangoproject.com/u/waleed3011)\
**Post date:** [July 6, 2020, 7:27pm UTC](https://forum.djangoproject.com/t/passing-data-between-views/3309/1 "2020-07-06T19:27:21Z")

</div>

Hello, I have two views. From one view I want to pass data to the next view when redirected.

The data I wish to pass trough is portfolio\_info

```
@login_required
def portfolio(request):

    form = PortfolioForm()
    if request.method == 'POST':
        #print('Printing post', request.POST)
        form = PortfolioForm(request.POST)

        if form.is_valid():
            instace = form.save(commit=False)
            instace.user = request.user
            instace.save()
            #form.save()

            portfolio_info = {
                'portfolio_name':instace.portfolio_name
            }
            
            print(portfolio_info['portfolio_name'])

            return redirect('transactions')

    context = {'form' : form}

    return render(request, 'backapp/portfolio.html', context)

```

To this view:

```
@login_required
def transactions(request):

    form = TransactionForm()
    if request.method == 'POST':
        #print('Printing post', request.POST)
        form = TransactionForm(request.POST)

        if form.is_valid():
            instace = form.save(commit=False)
            instace.save()

            return redirect('../')

    context = {
        'form' : form
    }
    return render(request, 'backapp/transaction.html', context)

```

As you can see, once the field is valid, the user is redirected. I want the user to be redirected with the portfolio\_info.

Thanks for the help in advance! 🙂

---

<div class="post-metadata">

**Author:** ![KenWhitesell](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/kenwhitesell/32/280_2.png) [@KenWhitesell](https://forum.djangoproject.com/u/KenWhitesell)\
**Post date:** [July 6, 2020, 8:02pm UTC](https://forum.djangoproject.com/t/passing-data-between-views/3309/2 "2020-07-06T20:02:44Z")

</div>

The [redirect](https://docs.djangoproject.com/en/3.0/topics/http/shortcuts/#redirect) function takes keyword parameters in the function call.

Off-the-cuff - I’m sure my syntax is wrong on one or more items here:

in a urls.py in your urlpatterns

```auto
path('transactions/<int:portfolio_id>/', views.add_transactions, name='add-transactions'),

```

your view can take the portfolio\_id as a parameter:

```auto
def add_transactions(request, portfolio_id):
    ...

```

which means you want to:

```auto
return redirect('add-transactions', portfolo_id=portfolio_id_from_form_or_wherever)

```
