django - wyciaganie uzytkownika z sesji ?

3

Yo,
Zaczalem bawic sie django i w sumie po 12h zlapalem pierwszego laga, ktorego nie moge przeskoczyc :D Pewnie jest to banalne proste a jak wiadomo na takie rzeczy najtrudniej wpasc.
Sprawa wyglada tak: Wchodze na profil innego uzytkownika (dziala) i w momencie gdy chce przejsc na inna zakladke (odzielny plik html, ktory jest rozszerzeniem bloku), wywala mi NoReverseMatch :/ Kodu mam sporo, ale postaram sie powklejac ten najistotniejszy.

guzik, ktory wywala mi ten error (odpowiedzialny za otwarcie profilu osoby zalogowanej. Dziala do tego momentu a w momencie otwarcia taba wywala error):

<div class="form-inline my-2 my-lg-0">
                {% if user.is_authenticated %}
                    <a href="{% url 'profile' nick=user.username%}" class="btn btn-primary btn-sl mr-2" role="button" aria-pressed="true">Profile</a>
                    <a href="{% url 'logout' %}" class="btn btn-primary btn-sl" role="button" aria-pressed="true">Logout</a>
                {% else %}
                    <a href="{% url 'login' %}" class="btn btn-primary btn-sl mr-2" role="button" aria-pressed="true">Login</a>
                    <a href="{% url 'register' %}" class="btn btn-primary btn-sl" role="button" aria-pressed="true">Register</a>
                {% endif %}}
</div>

wejscie na profil osoby (osoba ktora zalozyla adverta)(dziala):

<h6 class="mt-2">
        <small>from </small><a href="{% url 'profile' nick=advert.user.username %}">{{advert.user}}</a>
</h6>

wejscie na taba (argument 'nick' jest ta sama wartoscia co powyzej):

<a class="nav-link" href="{% url 'all_adverts' user=nick %}" role="tab" aria-selected="false">Comments</a>

Sprawa ogolnie ma to do siebie ze wchodza na profil (czysty) ladowane sa avatary i inne bajery. W momencie gdy wchodze na taba, django tak jak by gubi dane odnosnie uzytkownika i wywala NoReverse. Nie mam juz dzisiaj do tego glowy, wiec byc moze ktos bedzie mial pomysl :D

0

NoReverseMatch jest rzucany kiedy Django nie umie sobie znaleźć pasującego wzoru URL'a https://docs.djangoproject.com/en/2.2/ref/exceptions/#noreversematch Musisz sobie zdebuggować i zobaczyć co tam jest przezywane. Możesz mieć czeski błąd, albo pomyliłeś nazwy url'a
EDIT1.
BTW. Która wersja Django?
EDIT2. Masz to na jakimś githubie?

0

@ledi12: Masz tutaj ściągawkę, która mnie pomogła https://www.pythoncircle.com/post/424/solving-django-error-noreversematch-at-url-with-arguments-and-keyword-arguments-not-found/

EDIT.
Jak widzisz powinieneś zacząć od urls.py i sprawdzić czy tam czegoś nie zrobiłeś źle. Niestety mam za mało informacji i wglądu w kod by ci więcej pomóc :(

0
<a class="nav-link" href="{% url 'all_adverts' user=nick %}" role="tab" aria-selected="false">Comments</a>

nie powinno być nick=user?
Daj urls.py

0

Dobra, 3 piwa walnalem i rozwiazanie przyszlo samo :D Smiga jak ta lala ;) Problem lezal w settingsach a dokladnie LOGIN_REDIRECT_URL, ktory z automatu przenosil na urla, ktory wymagal argumentu w postaci nazwy uzytkownika. Z poziomu settingsow nie moglem tam niczego wbic, wiec po prostu uzylem gotowego LoginView i go lekko przerobilem dodajac kwargsy z uzytkownikiem i zadzialalo jak magia ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1