www.WebTips.pl: [django] Python - ścieżka do site_media - www.WebTips.pl

Skocz do zawartości


Strona 1 z 1

[django] Python - ścieżka do site_media

#1 Użytkownik nie jest zalogowany   Qba_23 

  • Senior
  • PipPipPip
  • Grupa Użytkownik
  • Postów 488
  • Rejestracja 31 mar 08
  • MiejscowośćHaczów

Napisano 20 listopad 2009 - 18:42

Witam!
Ostatnio postanowiłem pobawić się troszkę Django, ponieważ tego jeszcze nie próbowałem xD :P
Postanowiłem skorzystać z kursu na http://python.rk.edu.pl , ponieważ uznałem go za najlepszy z dostępnych do wyboru ;)Bardzo przystępnie napisany, wszystko wyjasnione, jak na razie dobrze mi idzie (tak myślę xD ), ale przystawiło mi w jednym punkcie, tj. ustawieniu przekierowania do site_media:
(r'^site_media/(.*)$', 'django.views.static.serve', {'document_root': os.path.join(os.path.dirname(__file__), 'site_media')}),

za nic w świecie nie chce mi wykryć plików CSS, obrazków, itd :/ Na stronie brakuje wyjaśnienia, gdzie powinno znajdować się site_media, ja czytałem jakiś tutorial po angielsku i tam site_media umieszczony był w /home/user/ czyli u mnie /home/kuba/, próbowałem już zamiany os.path.join(os.path.dirname(__file__), 'site_media') na bezpośrednią ścieżkę, grzebałem w manualu, ale nic nie wygrzebałem, pewnie dla tego że jeszcze zbyt mało znam ten język :/
Myślałem że na początek przerobię sobie kilka gotowych skryptów, a tu błąd xD
Z tego co wyczytałem, join łączy cieżkę z pierwszego i drugiego argumentu, ale gdy podstawiłem sobie os.path.dirname(__file__) pod zmienną i wyświetliłem w szablonie, to zwróciło mi ścieżkę /usr/lib/python2.5, czyli z tego raczej nic nie będzie, jeżeli pliki są w dwóch różnych katalogach...
Może ktoś lepiej władający tym językiem i frameworkiem dopomoże? :)
Z góry dzięki ;)
Pozdro
Kuba
Nie pomagam na GG!
Masz do mnie sprawę, napisz na forum!
Na GG pisz tylko wtedy, gdy sam Cię o to poproszę!
0


Strona 1 z 1

Odpowiedzi do tego tematu

#2 Użytkownik nie jest zalogowany   Thid 

  • Saint Inquisition
  • PipPipPipPipPipPipPip
  • Grupa Administrator
  • Postów 2243
  • Rejestracja 22 maj 06

Napisano 20 listopad 2009 - 19:14

czy podales w settings.py gdzie jest site_media?
Odpalasz to jako serwer deweloperski?
Dołączona grafika
Twórcy php ciagna wzorce z szerokiej gamy języków od pascala, przez jave i brainfucka, po tradycyjny chinski.
django the web framework for ponies with magical powers
watashi no teki , watashi wa osoreru hitsuyō wa nai ...shikashi , Kami wa watashi no yūjin tachi kara watashi wo mamoru
1

#3 Użytkownik nie jest zalogowany   Qba_23 

  • Senior
  • PipPipPip
  • Grupa Użytkownik
  • Postów 488
  • Rejestracja 31 mar 08
  • MiejscowośćHaczów

Napisano 20 listopad 2009 - 20:21

MEDIA_ROOT podałem, podałeś ścieżkę bezwzględną /home/kuba/site_media/
Odpalam skrypt na serwerze deweloperskim ;)
Nie pomagam na GG!
Masz do mnie sprawę, napisz na forum!
Na GG pisz tylko wtedy, gdy sam Cię o to poproszę!
0

#4 Użytkownik nie jest zalogowany   Thid 

  • Saint Inquisition
  • PipPipPipPipPipPipPip
  • Grupa Administrator
  • Postów 2243
  • Rejestracja 22 maj 06

Napisano 20 listopad 2009 - 21:23

hmmm....czy katalog site_media znajduje sie w katalogu gdzie jest projekt?
ustawiles MEDIA_URL?
Dołączona grafika
Twórcy php ciagna wzorce z szerokiej gamy języków od pascala, przez jave i brainfucka, po tradycyjny chinski.
django the web framework for ponies with magical powers
watashi no teki , watashi wa osoreru hitsuyō wa nai ...shikashi , Kami wa watashi no yūjin tachi kara watashi wo mamoru
1

#5 Użytkownik nie jest zalogowany   riklaunim 

  • Bywalec
  • PipPip
  • Grupa Użytkownik
  • Postów 232
  • Rejestracja 26 wrz 09

Napisano 20 listopad 2009 - 21:41

Zawsze mogłeś zapytać się na stronie kursu ;)
(r'^site_media/(.*)$', 'django.views.static.serve', {'document_root': os.path.join(os.path.dirname(__file__), 'site_media')}),

Zakłada że katalog "site_media" znajduje się w katalogu tego projektu django (~podkatalog site_media). Wszystkie pliki statyczne dostępne są poprzez URL /site_media/ścieżka...
0

#6 Użytkownik nie jest zalogowany   Qba_23 

  • Senior
  • PipPipPip
  • Grupa Użytkownik
  • Postów 488
  • Rejestracja 31 mar 08
  • MiejscowośćHaczów

Napisano 21 listopad 2009 - 10:14

ah sorki, nie zauważyłem linku do forum xD
Mimo to dzięki za szybką pomoc :)
A czy to może być skrót, np. mam katalog home/kuba/django_projects, w nim katalog projektu, czyli w tym wypadku blog z kursu ;) i do tego katalogu wrzuciłem skrót, ale coś nie chciało za bardzo działać :/ zaraz popatrzę co i jak, tylko się na linuksa przesiądę ;)

EDIT:
dalej nic :/ może pokażę strukturę katalogów:
/home/kuba/
    django_projects/ <- projekty django
        blog/ <- projekt z kursu
            site_media/ <- katalog site_media z images/*.css
    django_templates/ <- szablony dla django


w settings.py mam takie ustawienia:
# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = '/home/kuba/django_projects/blog/site_media/'

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = ''

# URL prefix for admin media -- CSS, Javascript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/site_media/'

Gdy wchodzę na stronę http://127.0.0.1/ widzę całą stronę, ale bez CSS i obrazów, czyli czysty html
Gdy wejdę na http://127.0.0.1:8000/site_media/ dostaję permission denied dla katalogu, a gdy dodam jeszcze images, to w ogóle mi tego nie znajduje, wywala mi error 404 :/
sorki za głupie problemy, ale każdy kiedyś zaczynał :P xD
Nie pomagam na GG!
Masz do mnie sprawę, napisz na forum!
Na GG pisz tylko wtedy, gdy sam Cię o to poproszę!
0

#7 Użytkownik nie jest zalogowany   riklaunim 

  • Bywalec
  • PipPip
  • Grupa Użytkownik
  • Postów 232
  • Rejestracja 26 wrz 09

Napisano 21 listopad 2009 - 15:33

Na serwowanie statyki pod serwerem deweloperskim odpowiadania odpowiedni wpis w urls.py. Założenie jest takie że masz:
projekt_django/
projekt_django/settings.py
projekt_django/site_media/
projekt_django/... inne pliki i katalogu

I z tego projekt_django odpalasz serwer deweloperski. I jak masz plik powiedzmy projekt_django/site_media/foo/style.css to link do pliku będzie /site_media/foo/style.css.
(Serwer deweloperski odpalany z tego samego użytkownika co pracujesz z kodem)
0

#8 Użytkownik nie jest zalogowany   Qba_23 

  • Senior
  • PipPipPip
  • Grupa Użytkownik
  • Postów 488
  • Rejestracja 31 mar 08
  • MiejscowośćHaczów

Napisano 21 listopad 2009 - 16:23

eh, tyle zabawy z tym, a właśnie dodałem tę ścieżkę do ADMIN_MEDIA_PREFIX i działa... zmyliło mnie to ADMIN na początku... sorki za kłopot i dzięki za pomoc :)
Pozdro
Nie pomagam na GG!
Masz do mnie sprawę, napisz na forum!
Na GG pisz tylko wtedy, gdy sam Cię o to poproszę!
0

Strona 1 z 1


Szybka odpowiedź

  

Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych