Hi Gavin,

Please see this one.
https://docs.djangoproject.com/en/2.1/topics/http/sessions/. It first needs
to be setup in your settings.py.

Basically, this is just a field in the database that gets retrieved
whenever you want.

# set a session variable
self.request.session['key'] = 'value'

# get a session variable
self.request.session.get('key', None)

On Mon, Feb 18, 2019 at 3:10 PM Gavin Boyle <[email protected]>
wrote:

> Hi Simon,
>
> That’s a great idea, I’ve only ever worked with built in sessions for
> logging in. Would you have a link to some documentation or an example that
> would help me as I’m relatively new to Django and this has been holding me
> back months now.
>
> Thanks
>
> Gavin
>
> On Mon, 18 Feb 2019 at 04:11, Simon A <[email protected]> wrote:
>
>> I think I had a similar scenario a few weeks ago. One option that you
>> have is to store the originally selected PK to the session object. Whenever
>> you load a page, for you can retrieve the PK from the session object. Most
>> likely you'll do this on the get_queryset function
>>
>>
>> On Sunday, February 17, 2019 at 8:24:53 PM UTC+8, GavinB841 wrote:
>>>
>>> Hi,
>>>
>>> To briefly explained:
>>>
>>>    - I have a main site which provides links to multiple sports club
>>>    pages.
>>>    - Currently once clicked it opens the club home page and displays
>>>    information based on that club by passing in the pk.
>>>    - I then have many other pages associated to the clubs. e.g. Teams,
>>>    Player Registration, Shop etc.
>>>    - But when I click on the navbar for example "Player Registration" I
>>>    have no idea how to continue the URL with the originally selected PK and
>>>    how to use that PK in the view.
>>>
>>>
>>> ***Current I have these pages working off the authenticated user but
>>> realistically I want it working off the originally selected club***
>>>
>>> I am not sure how to write the view to allow for this to work and then
>>> pass the pk argument into the nav bar url simiarlary how I did it on the
>>> main site:
>>>
>>> <a href="{% url 'clubs:club_home_with_pk' pk=club.pk %}">
>>>
>>>
>>> Would really appreciate any help been stuck on this for a few months
>>> now.
>>>
>>> Below is an example of the Clubs Teams I need this to work for:
>>>
>>> *Urls.py:*
>>>
>>> urlpatterns = [
>>>     path('', views.club_home, name='club_home'),
>>>     path('<int:pk>/', include([
>>>         path('home/', views.club_home, name='club_home_with_pk'),
>>>         path('teams/', views.TeamInfo.as_view(), name='teams'),
>>>     ])),
>>>
>>>
>>> *Nav bar for club pages:*
>>>
>>> <li><a class="nav-link" href="{% url 'clubs:club_home' %}">Home</a></li>
>>> <li><a class="nav-link" href="{% url 'clubs:teams' %}">Team</a></li>
>>> <li><a class="nav-link" href="{% url 'clubs:pitches' %}">Pitches</a></li>
>>> <li><a class="nav-link" href="{% url 'clubs:memberships' 
>>> %}">Memberships</a></li>
>>>
>>>
>>>
>>> *Views.py*
>>>
>>>
>>> def club_home(request, pk=None):
>>>     if pk:
>>>         club = ClubInfo.objects.filter(pk=pk)
>>>         club_posts = ClubPosts.objects.filter(club_id=club[0])
>>>     elif request.user.is_authenticated:
>>>         club = ClubInfo.objects.filter(user=request.user)
>>>         club_posts = ClubPosts.objects.filter(club_id=club[0])
>>>     # photo = model.club_logo.ImageField(storage=profile_pics)
>>>     args = {'club': club,
>>>             'club_posts': club_posts
>>>             }
>>>     return render(request, 'club_home_page.html', args)
>>>
>>>
>>> class TeamInfo(APIView):
>>>     renderer_classes = [TemplateHTMLRenderer]
>>>     template_name = 'teams.html'
>>>
>>>     def get(self, request):
>>>         form = TeamForm()
>>>         user = ClubInfo.objects.filter(user=request.user).first()
>>>         teams = Team.objects.filter(club_id=user.pk)
>>>         return Response({'form': form,
>>>                          'teams': teams,
>>>                          })
>>>
>>>     def post(self, request):
>>>         form = TeamForm(data=request.data)
>>>         user = ClubInfo.objects.filter(user=request.user).first()
>>>         teams = Team.objects.filter(club_id=user.pk)
>>>         if form.is_valid():
>>>             form.save()
>>>             return Response({'form': form,
>>>                              'teams': teams
>>>                              })
>>>
>>>
>>>
>>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Django users" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/django-users/KsvZHK1z6BI/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at https://groups.google.com/group/django-users.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/django-users/c508e2ee-d73a-4a02-923d-d033e467efe3%40googlegroups.com
>> <https://groups.google.com/d/msgid/django-users/c508e2ee-d73a-4a02-923d-d033e467efe3%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> *Séanadh Ríomhphoist/Email DisclaimerTá an ríomhphost seo agus aon chomhad
> a sheoltar leis faoi rún agus is lena úsáid ag an seolaí agus sin amháin
> é. Is féidir tuilleadh a léamh anseo.
> <https://www4.dcu.ie/iss/seanadh-riomhphoist.shtml>
> <https://www4.dcu.ie/iss/seanadh-riomhphoist.shtml>This e-mail and any
> files transmitted with it are confidential and are intended solely for use
> by the addressee. Read more here.
> <https://www4.dcu.ie/iss/email-disclaimer.shtml> *
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Django users" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/django-users/KsvZHK1z6BI/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/CAHZR7JdWHnLsaE8a4z2Bjdj4qQJJoee%3D_f4C_MVibQw6pMOAZQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/django-users/CAHZR7JdWHnLsaE8a4z2Bjdj4qQJJoee%3D_f4C_MVibQw6pMOAZQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>


-- 
Kind Regards,
Simon Arriola

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CABXH83qsJurb03-JZjM2jgg5j1Q24mGAKXE9ZBdSLFRLO3Q0Kw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to