Como faço para usar o CSS em Django?

votos
107

Estou criando meu aplicativo usando Django, e estou querendo saber como posso fazer Django usar meu arquivo CSS? Quais configurações que eu preciso fazer para que Django consulte o arquivo css?

NB: Em uma máquina local

Publicado 04/11/2008 em 09:12
fonte usuário
Em outras línguas...                            


6 respostas

votos
48

Se você estiver usando o servidor de desenvolvimento seguir o projeto Django guia de como fazer para gerenciar arquivos estáticos para a configuração do URL, em seguida, referência você arquivos de mídia no modelo - digamos, uma imagem dentro de uma pasta de imagens a partir /site_media/images/foo.gif.

Respondeu 06/03/2009 em 00:19
fonte usuário

votos
36

De modo mais geral afirmou, você está perguntando como servir um arquivo estático de Django. Se você estiver executando sob o Apache, você deve ler http://docs.djangoproject.com/en/dev/howto/deployment/modpython/

Se você estiver executando o servidor de desenvolvimento (por exemplo, em seu laptop), leia http://docs.djangoproject.com/en/dev/howto/static-files/

Observe o aviso grande, gordo sobre o servidor de desenvolvimento do Django:

  • Usando este servidor é ineficiente e insegura.
  • Não use isso em um ambiente de produção.
  • Use isto só para o desenvolvimento.
Respondeu 05/11/2008 em 02:59
fonte usuário

votos
13

Isso me causou problemas demais por um tempo (404 erros não encontrados). O pouco faltando para mim foi para editar a STATICFILES_DIRStupla em settings.py para me dar esta:

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.
    os.path.join(os.path.dirname(__file__),'media').replace('\\','/'),
)

Isso, então, pegou meus arquivos CSS em uma pasta chamada 'media' que estava no nível superior do meu projeto Django.

Eu também tive:

MEDIA_ROOT = ''
MEDIA_URL = ''
STATIC_ROOT = ''
STATIC_URL = '/media/'

(certifique-se que a principal /acima em STATIC_URL)

Claro que, como disse acima, você precisa ter o arquivo CSS corretamente incluída a partir de seus arquivos HTML. Eu tinha:

<link href="` STATIC_URL `css/ea_base.css" rel="stylesheet" type="text/css" media="screen" />
Respondeu 03/10/2012 em 11:14
fonte usuário

votos
12

Quais configurações que eu preciso fazer para que Django consulte o arquivo css?

Nenhum.

Verifique se o seu modelo inclui o arquivo CSS (como padrão HTML faz) e colocar o arquivo CSS no servidor de mídia.

Para esclarecer: Com Django é altamente recomendável que você serve todos os seus meios (tudo o que não é HTML dinâmico) a partir de uma instância do servidor diferente. Como você implementar que é completamente até você, mas a maioria das pessoas criar um subdomínio.

Respondeu 04/11/2008 em 09:32
fonte usuário

votos
8

Os documentos oficiais do Django não me ajudou. Espero que o post " Django: Como servir arquivos estáticos " ajuda a alguns de vocês.

Respondeu 02/12/2010 em 09:12
fonte usuário

votos
0

Bem, a maneira mais fácil de usar css com Django, é adicioná-lo aos seus modelos como-arquivos estáticos.

Mas é um pouco como ajax, eu não encontrou qualquer coisa que diz como incluí-lo em uma forma padrão.

Há um css-compressor módulo para Django se você deseja otimizar seu tamanho.

Respondeu 24/11/2009 em 14:29
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more