Closed jaanos closed 6 years ago
Živjo,
najprej sem commitala dosedaj narejeno in sem potem želela odstraniti .idea
, ampak izgleda, da jo je moj commit odstranil. Ali je to dovolj?
Moje drugo vprašanje se tiče 'extendajnja' base.html
. base.html
vsebuje iskalno vrstico, iskalno formo in gumb (+) za dodajanje. Ko poženem iskanje grem v tabele.html
, ki ima extendan base.html
. Takrat gumb izgine. Podobno se zgodi, če kliknem gumb (+), grem v dodajClan.html
in izgubim funkcionalnost iskalne vrstice (vrstica ostane). Prosim za nasvet.
(Vse to se dogaja na /taborniki/index)
V .gitignore
vseeno dodaj vrstico .idea
, da se mapa ne bo ponovno dodala. @markbaltic pa pred naslednjim pullom pri sebi umakni .idea
in jo po pullu vrni, da se ti ohranijo nastavitve projekta.
Kolikor vidim, /taborniki/index
privzeto pokaže base.html
(kjer se nahaja gumb +), vse druge strani pa extendajo index.html
(ki tega gumba nima). Tako bo verjetno najbolje, da povsod extendaš base.html
, index.html
pa najbrž niti ne potrebuješ.
Mimogrede: poskusita se izogibati temu, da ob POST zahtevku prikažeta stran. Zahtevki, ki ničesar ne spremenijo (npr. iskanje), naj raje uporabijo metodo GET, tisti, ki pa (npr. dodajanje člana) pa naj ob uspešno opravljeni spremembi preusmerijo uporabnika na želeno stran (uporabita redirect
). Tako se izogneta ponovnemu pošiljanju zahtevka ob osvežitvi strani (in morebitni neželeni ponovitvi spremembe). Prikazovanje strani po zahtevku POST je morda smiselno le, če se zgodi napaka in do spremembe ne pride (tako lahko npr. uporabnik popravi vnesene podatke).
Hvala za pomoč. base.html
sem spregledala.
Pojavlja se mi nova težava z iskanjem po kliku na gumb (+). Klik na (+) me preusmeri na taborniki/dodaj
. Potem pa po izvedenem iskanju ostanem na istem url namesto na taborniki/search/
. Ali sem napačno uporabla redirecte?
Popravila sem tudi POST zahtevek na GET. Zanima me, če je bilo tako mišljeno?
V obrazcu iskalnika je atribut action
prazen, kar pomeni, da se bo poizvedba naredila na trenutno stran. Da bo delovalo iskanje, tja postavita URL za iskanje - morda bo bolje, da uporabita kar pot search
in potem v views.search_results
podatke dobita kar neposredno iz obrazca - tako pri index
preusmeritev ne bo potrebna (pravzaprav tam ne bo potrebno več nič skrbeti glede iskanja).
Zamenjava POST z GET izgleda v redu. Seveda pa ni potrebno eksplicitno preverjati, ali je zahtevek tipa GET, saj je to privzeta metoda (zgodi se ob vsakem kliku na povezavo). Morda lahko v primeru, ko z obrazcem pri iskanju ni vse v redu (torej ne velja form.is_valid()
), naredita preusmeritev na prvo stran.
Mimogrede, ko poženem aplikacijo, dobim opozorilo:
WARNINGS:
?: (urls.W005) URL namespace 'admin' isn't unique. You may not be able to reverse all URLs in this namespace
Če v urls.py
odstranim vnos za admin
, opozorilo izgine, administratorski vmesnik (oziroma vsaj prijavni obrazec) pa je še vedno dosegljiv. Sicer pa sam poganjam s Python 2.7, ker mi s Python 3.5 ne najde django.contrib.postgres.search
(kljub temu, da sem namestil django-contrib-postgres
).
V mapi
.idea
so datoteke, ki so vezane na računalnik, kjer delata s projektom. Bolje bo torej, če te mape ni na repozitoriju, tako da v.gitignore
dodajta vrstico.idea
. Mapo bo treba še ročno pobrisati z repozitorija - da ne izgubita nastavitev, svetujem, da mapo iz vajinih delovnih kopij repozitorija skopirata nekam drugam, nato pa eden od vaju mapo pobriše, commita in pusha, drugi pa pulla spremembe k sebi. Nazadnje lahko vsak svojo mapo vrne v svojo delovno kopijo, in zaradi vrstice v.gitignore
več ne bo šla na git.