Django a problém s připojenim CSS do base.html – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Django a problém s připojenim CSS do base.html – Python – Fórum – Programujte.comDjango a problém s připojenim CSS do base.html – Python – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
TuTi_fruTi0
Newbie
10. 2. 2012   #1
-
0
-

Zdravím,

po čase hrátek s djangem jsem včera málem ztratil nervy nad banalitkou (asi hlavně proto, že tak banální věc  nelze udělat jednoduše) jako je připojení souboru s CSS do HTML kodu.

V HTML souboru mám v hlavičce toto"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>{% block title %} Base {% endblock %}</title>
<link rel="stylesheet" media="all" href="{{STATIC_URL}}css/main.css" type="text/css">
</head>

a v souboru setting.py :

MEDIA_ROOT = '/home/vitas/django/viwal/media/'

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
MEDIA_URL = '/media/'

# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = '/home/vitas/django/viwal/static/'

# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'

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

# Additional locations of static files
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
)

# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#    'django.contrib.staticfiles.finders.DefaultStorageFinder',
)

# Make this unique, and don't share it with anybody.
SECRET_KEY = 'yljy2izixap9tt$v(!77q)bw60s$!dxdqn&4e0(i5(%y68wpqa'

# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
#     'django.template.loaders.eggs.Loader',
)

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.core.context_processors.debug',
    'django.core.context_processors.i18n',
    'django.core.context_processors.media',
    'django.core.context_processors.static',
    'django.contrib.auth.context_processors.auth',
    'django.contrib.messages.context_processors.messages',
)

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
)

ROOT_URLCONF = 'viwal.urls'

TEMPLATE_DIRS = (
	'/home/vitas/django/viwal/templates/'
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'viwal.main_act',
    
    # Uncomment the next line to enable the admin:
    'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
)

soubor main.css lezi presne tak jak je napsana cesta v html... ale "{{ STATIC_URL}}" prostě neuděla nic.

Jsem v Djangu opravdu začátečník, ale po zkušenosti s dvouhodinovým připojováním CSS souboru (což za normálních okolností je otázkou jednoho řádku a cca 10sec) mám chuť s tím seknout :-)...

Vím, že nejspíš bude chzba meyi klávesnicí a židlí, ale orapvdu už si nevím rady. 

Jop ještě bych měl asi dodat verze djanga 1.3 a python2.7.

Díky za reakce:-) 

Nahlásit jako SPAM
IP: 80.212.112.–
sputnikone+1
Věrný člen
10. 2. 2012   #2
-
0
-

#1 TuTi_fruTi

Používáš RequestContext na generování stránky ze šablony?

Nahlásit jako SPAM
IP: 78.45.232.–
TuTi_fruTi0
Newbie
10. 2. 2012   #3
-
0
-

Něco jsem už o tom četl v dokumentaci, ale absolutně jsem to nepochopil.

Můžeš mi prosím poradit jak nebo kde to zjístím?

Dík

Nahlásit jako SPAM
IP: 80.212.112.–
sputnikone+1
Věrný člen
11. 2. 2012   #4
-
+1
-
Zajímavé

#3 TuTi_fruTi
No pokud chceš, aby tvá appka odpovídala, musíš mít view. Na view se routuješ (máš ho v urlpatterns) a view přijímá jako parametr proměnnou request. View potom generuje odpověď. Normálně se generuje HttpResponse, které můžeš dát buď string a nebo stránku vygenerovanou dle šablony. Šablona se generuje pomocí classy Context a nebo, v případě použití proměnných jako STATIC_URL apod., pomocí RequestContext, která jako první parametr bere onen request. Takže ve view zaměň Context za RequestContext z requestem a měl bys být v klidu.

Nahlásit jako SPAM
IP: 78.45.232.–
TuTi_fruTi0
Newbie
11. 2. 2012   #5
-
0
-

Já mám ale view zatím prázdné.... a stránku generuju takto :

urlpatterns = patterns('',

	url(r'^base/$', 'django.views.generic.simple.direct_to_template', 
        {'template': 'base.html'}, name="base"),

a asi v tomto taky bude problém...

Nahlásit jako SPAM
IP: 80.212.112.–
TuTi_fruTi0
Newbie
11. 2. 2012   #6
-
0
-

Dobrá, takže problém vyřešen. Hlavní háček byl v tom, že jsem špatně pochopil "struktůru" generování šablon. Po opětovném přečtení dokumentace a seriálu na serveru zdrojak.root.cz jsem se z mojí hloupé chyby úspěšně vymotal.

Děkuji za trpělivost a věřím, že pokud mě django rychle nepřejde, určitě se nějaký příypěvek časem ještě pošlu.

Ještě jednou děkuji.... 

Nahlásit jako SPAM
IP: 80.213.166.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 15 hostů

Podobná vlákna

Problém s CSS a HTML — založil Jespak

Problem s připojením — založil Karel

Problém s připojením ntb — založil Anonymní uživatel

Problem s připojením k MySQL — založil lekejs

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý