campovski / beernburger

All (the majority of) files needed for a website that contains beer and burger reviews.
MIT License
1 stars 1 forks source link

settings.py in .gitignore #2

Closed jaanos closed 7 years ago

jaanos commented 7 years ago

Ko poskušam pognati strežnik, dobim naslednjo napako:

$ python3 manage.py runserver
...
ImportError: No module named 'beernburger.settings'

Razlog je najbrž v tem, da imaš v .gitignore vrstico settings.py in te datoteke zato nimaš v repozitoriju. V splošnem tega res nočeš, saj se tam nahaja geslo za bazo. Da pa bo aplikacijo mogoče pognati, naj ta datoteka vseeno bo na repozitoriju, navedeni pa naj bodo takšni podatki za prijavo na bazo, da bo aplikacijo mogoče uporabljati - najbolje, da na bazi narediš uporabnika z zadostnimi pravicami, za ustvarjanje in polnjenje baze pa uporabiš uporabnika z vsemi pravicami (njegovega gesla seveda naj ne bo na repozitoriju - lahko to preprečiš z ustreznim vnosom v .gitignore).

Mimogrede, v zadnji vrstici .gitignore je še ostanek konflikta, tako da to vrstico pobriši.

campovski commented 7 years ago

Res je, manjka settings.py, ravno iz razlogov, ki ste jih navedli. Bom cez vikend dodal standard userja in pushal settingse. Sem sicer poskusil nekaj podobnega ze narest, pa je potem prihajalo do konfliktov na serverju, tako da moram se ugotovit, kako na pameten nacin to resit.

Sent from my iPhone

On 11 May 2017, at 13:11, Janoš Vidali notifications@github.com wrote:

Ko poskušam pognati strežnik, dobim naslednjo napako:

$ python3 manage.py runserver ... ImportError: No module named 'beernburger.settings' Razlog je najbrž v tem, da imaš v .gitignore vrstico settings.py in te datoteke zato nimaš v repozitoriju. V splošnem tega res nočeš, saj se tam nahaja geslo za bazo. Da pa bo aplikacijo mogoče pognati, naj ta datoteka vseeno bo na repozitoriju, navedeni pa naj bodo takšni podatki za prijavo na bazo, da bo aplikacijo mogoče uporabljati - najbolje, da na bazi narediš uporabnika z zadostnimi pravicami, za ustvarjanje in polnjenje baze pa uporabiš uporabnika z vsemi pravicami (njegovega gesla seveda naj ne bo na repozitoriju - lahko to preprečiš z ustreznim vnosom v .gitignore).

Mimogrede, v zadnji vrstici .gitignore je še ostanek konflikta, tako da to vrstico pobriši.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

campovski commented 7 years ago

Tu je se en problem, ki upam, da sem ga odpravil. V settings.py je namrec se SECRET_KEY, ki ga tudi ni pametno dajat zraven. Razlogi so vam najbrz ocitni. Tako sem naredil generator tega kljuca, ki v posebno datoteko, ce je se ni bilo, generira ta kljuc in ga potem tudi od tam bere. Meni mislim, da deluje. Potem morate narediti sledece:

django-admin.py syncdb --settings=my_settings.py

Sedaj deluje ./manage.py runserver. Sem imel pa kar nekaj tezav s tem, da sem stvar usposobil, tako da me ne bo presenetilo, ce vam ne bo delalo. Sam se vedno poganjam na settings.py, saj le tako deluje admin page za dodajanje contenta v bazo prek interneta.

Najbrz je potrebno tudi spremeniti host in port v DATABASES. host bi torej bil campovski.eu, port pa se ne vem, ker se nisem nastavil postgresa, da poslusa... Navodila sledijo.

Do takrat pa je vse na campovski.eu, kjer lahko pogledate, kako stvar deluje. Je pa vsaj nalaganje, domace strani zelooo pocasno, saj imam efektiven upload cca. 120 kbps, slike pa, ceprav so kompresirane, se vedno skupaj zasedejo slab MB.

jaanos commented 7 years ago

Odprl sem ti pull request #3, kjer so nastavitve premaknjene na pravo mesto. Ko boš imel nastavljen Postgres na svojem strežniku, pa ustrezno spremeni nastavitve. Lokalno ga ne poganjam, tako da še nisem mogel pognati aplikacije.

Sicer pa lahko uporabiš tudi bazo na baza.fmf.uni-lj.si za testno različico (v settings.py), pa imaš v nastavitvah za produkcijsko različico (v local_settings.py) bazo na svojem strežniku. Potem tudi ne bo treba skrbeti za javnega uporabnika na svoji bazi (v resnici niti nočeš javnega dostopa do svoje baze).