{{MEDIA URL}} retorna em branco

46 views
Skip to first unread message

Cristian Piero

unread,
May 23, 2012, 8:25:00 AM5/23/12
to django...@googlegroups.com
Pessoal,

configurei no settings do meu projeto o media {{MEDIA URL}} até ai tudo bem.. então em minha urls.py 

urlpatterns = patterns('',
    # Examples:
    url(r'^$', include('mysite.client.urls')),    
    url(r'^client/', include('mysite.client.urls')),
    (r'^login/$', 'django.contrib.auth.views.login',
      {'template_name': 'accounts_login.html' }),
    (r'^logout/$', 'django.contrib.auth.views.logout_then_login',
      {'login_url': '/login/?next=/'}),
   
    #url(r'^admin/', include(admin.site.urls)),
    #url(r'^', include(admin.site.urls)),
    #url(r'^grappelli/', include('grappelli.urls')),
)

if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^media/(?P<path>.*)$', 'django.views.static.serve',
          {'document_root': settings.MEDIA_ROOT}),
    )

então quando faço o primeiro acesso,sou redirecionado para a pagina de login o {{MEDIA_URL}} está funcionando,

mas depois que faço o login e vou para minha app client {{MEDIA_URL}} vem em branco???Porque será?

dentro da minha app client existe outro urls.py e está assim até o momento.

urlpatterns = patterns('mysite.client.views',
    url(r'^$', 'index'),
    url(r'^(?P<xid>\d+)/$', 'detail'),
)

if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^media/(?P<path>.*)$', 'django.views.static.serve',
          {'document_root': settings.MEDIA_ROOT}),
    )

inseri o "if settings.DEBUG..." pensando que poderia ser isso, mas pelo jeito não é.

Se alguém poder me ajudar.

obrigado.

Fred Chevitarese

unread,
May 23, 2012, 8:36:28 AM5/23/12
to django...@googlegroups.com
Opa! 

Como ta o settins.py? 




"
O relógio da vida recebe corda apenas uma vez.
Ninguém tem o poder de decidir quando os ponteiros pararão, se mais cedo ou se mais tarde.
O presente é o único tempo que você possui.
Viva, ame e trabalhe com vontade.
Não ponha nenhuma esperança no tempo, pois o relógio pode parar a qualquer momento.
"

Fred Chevitarese - GNU/Linux





--
Django Brasil em Google Groups <http://groups.google.com.br/group/django-brasil>
Associe-se à Python Brasil e suporte nossa comunidade! <http://associacao.python.org.br/>

Matheus Lima

unread,
May 23, 2012, 8:53:24 AM5/23/12
to django...@googlegroups.com
A url ta correta, mas tem que configurar a variável MEDIA_URL no settings.py

Coloque o código do settings.py em algum "pastebin" pra gente dar uma olhada.
--
Att,

Matheus dos Santos Lima        
Bel. em Sistemas de Informação - UFS (2011.2)

Cristian Piero

unread,
May 23, 2012, 8:55:13 AM5/23/12
to django...@googlegroups.com
segue abaixo o settins.py

----

import os
ROOTDIR = os.path.dirname(__file__)

DEBUG = True
TEMPLATE_DEBUG = DEBUG

ADMINS = (
    # ('Your Name', 'your_...@example.com'),
)

MANAGERS = ADMINS

# Language code for this installation. All choices can be found here:
LANGUAGE_CODE = 'pt-BR'

SITE_ID = 1

# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True

# If you set this to False, Django will not format dates, numbers and
# calendars according to the current locale
USE_L10N = True

# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/home/media/media.lawrence.com/media/"
MEDIA_ROOT = os.path.join(ROOTDIR,'templates/theme/assets')

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
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 = ROOTDIR

# URL prefix for static files.
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 = '/assets/'
# 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 = '++*^j8x6@lfs0or=ds*s=kal@kdvz*=(6$4sv@nq242a6zeu!w'

# 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',
)

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 = 'linkage4.urls'

TEMPLATE_DIRS = (
os.path.join(ROOTDIR,'templates/theme/'),
    # 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.
)
AUTH_PROFILE_MODULE = "hierarchies.auth_user_hierarchies"

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    #'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'grappelli',
    'django.contrib.admin',
    'linkage_user',
    'mail_message',
    'client',
    'course',
    'class_turma',
    'discipline',
   
)

# A sample logging configuration. The only tangible logging
# performed by this configuration is to send an email to
# the site admins on every HTTP 500 error.
# more details on how to customize your logging configuration.
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'class': 'django.utils.log.AdminEmailHandler'
        }
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },
    }
}

AUTH_PROFILE_MODULE = 'hierarchies'

LOGIN_URL = "/login/"
LOGOUT_URL = "/logout/"
LOGIN_REDIRECT = "/"

Cristian Piero

unread,
May 23, 2012, 9:39:16 AM5/23/12
to django...@googlegroups.com
Segue o código no pastbin http://pastebin.com/wUt1vuDW

Guilherme Medeiros

unread,
May 23, 2012, 11:12:50 AM5/23/12
to django...@googlegroups.com
Não sei bem como resolver o seu problema, mas pode ser análogo ao caso do {{ STATIC }}


Para exibir os arquivos estaticos no seu site, você pode utilizar a tag {{ STATIC }}, mas para isso vc precisa utlizar o RequestContext quando for passar suas variáveis para o template
https://docs.djangoproject.com/en/1.4/ref/templates/api/#django.template.RequestContext

OU

Caso você não queira usar o RequestContext, existe essa segunda forma de mostrar os arquivos estaticos no seu template
https://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/#template-tags



Como eu disse, eu não sei resolver o seu problema, mas talvez esse meu comentário te ajude.


Atenciosamente,

 

Guilherme Medeiros

Web Developer FTW!


Socialize: Blog RSS LinkedIn Twitter


2012/5/23 Cristian Piero <cristi...@gmail.com>

Cristian Piero

unread,
May 23, 2012, 1:04:53 PM5/23/12
to django...@googlegroups.com
Obrigado Guilherme vou dar uma lida.


Cristian Piero | Desenvolvedor Web
Telefone: (55) 91568177



2012/5/23 Guilherme Medeiros <guicar...@gmail.com>

Alfredo Guilherme Silva Souza

unread,
May 23, 2012, 1:08:12 PM5/23/12
to django...@googlegroups.com

Redes Sociais

Boa Noite !

Esta é uma simples pesquisa sobre Redes Sociais.


Aponte elementos e idéias que já estão presentes nas maiores redes sociais que poderiam ser modificadas e melhoradas.

Resposta:


Aponte os elementos e idéias que ainda não existem em redes sociais, ou seja, coisas que tornariam uma rede social muito mais interessante, útil e simples. 

Não tenha medo de sua resposta, o que importa é sua criatividade.

Resposta:



Informações Complementares

(Se necessário)



Agradeço sua ajuda.



--
Django Brasil em Google Groups <http://groups.google.com.br/group/django-brasil>
Associe-se à Python Brasil e suporte nossa comunidade! <http://associacao.python.org.br/>



--

Alfredo Guilherme



Flavia Missi

unread,
May 23, 2012, 2:21:07 PM5/23/12
to django...@googlegroups.com
usuário moderado

2012/5/23 Alfredo Guilherme Silva Souza <alfredo.bio...@gmail.com>



--
Flavia

erico

unread,
May 23, 2012, 2:38:26 PM5/23/12
to django...@googlegroups.com
Cristian, utilizo assim:
http://pastebin.com/m9pJUZVG 

postei apenas ar partes pertinentes

Cristian Piero

unread,
May 24, 2012, 8:11:48 AM5/24/12
to django...@googlegroups.com
Erico,

valeu..mas ainda não solucionou o meu problema..hehe..

continua a mesma coisa quando eu acesso o http://127.0.0.1:8000/login o {{MEDIA_URL}} vem preenchido com o que está no settings.py, mas quando faço login ele vai para minha pagina default http://127.0.0.1:8000 e o {{MEDIA_URL}} vem em branco no meu arquivo.html

Obrigado.

Cristian Piero | Desenvolvedor Web
Telefone: (55) 91568177



--

Vinicius Mendes

unread,
May 24, 2012, 9:31:12 AM5/24/12
to django...@googlegroups.com
Cristian,

Tem como mandar o seu urls.py e o views.py que roteiam e processam essa "pagina default"?

Manda o se
Atenciosamente,
Vinicius Mendes
Engenheiro de Computação
Globo.com



2012/5/24 Cristian Piero <cristi...@gmail.com>

Cristian Piero

unread,
May 24, 2012, 9:47:20 AM5/24/12
to django...@googlegroups.com
Vinicius,

segue o codigo http://pastebin.com/KuLMwN9q

Valeu.

Cristian Piero | Desenvolvedor Web
Telefone: (55) 91568177



Cristian Piero

unread,
May 24, 2012, 9:53:39 AM5/24/12
to django...@googlegroups.com
Guilherme,

é uma alternativa caso não consiga do modo correto.

Valeu.


Cristian Piero | Desenvolvedor Web
Telefone: (55) 91568177



Em 24 de maio de 2012 10:50, Guilherme Medeiros <guicar...@gmail.com> escreveu:
no meu views to fazendo a gambiarra do verão
me ajuda bastante

from settings import MEDIA_URL


e dentro de alguma função

return render_to_response("template", { "MEDIA_URL": MEDIA_URL })


No template, o {{ MEDIA_URL }} tá funcionando que é uma beleza.


Mas como eu disse, gambiarra.



Atenciosamente,

 

Guilherme Medeiros

Web Developer FTW!


Socialize: Blog RSS LinkedIn Twitter


Guilherme Medeiros

unread,
May 24, 2012, 9:50:26 AM5/24/12
to django...@googlegroups.com
no meu views to fazendo a gambiarra do verão
me ajuda bastante

from settings import MEDIA_URL


e dentro de alguma função

return render_to_response("template", { "MEDIA_URL": MEDIA_URL })


No template, o {{ MEDIA_URL }} tá funcionando que é uma beleza.


Mas como eu disse, gambiarra.


Atenciosamente,

 

Guilherme Medeiros

Web Developer FTW!


Socialize: Blog RSS LinkedIn Twitter


Em 24 de maio de 2012 10:47, Cristian Piero <cristi...@gmail.com> escreveu:

erico

unread,
May 24, 2012, 12:51:27 PM5/24/12
to django...@googlegroups.com
from django.shortcuts import render_to_response, get_object_or_404
from mysite.client.models import info as Client
from mysite.client.forms import ClientForm
from django.contrib.auth.decorators import login_required

from django.template import RequestContext

@login_required
def index(request): 
  list_client = Client.objects.all().order_by('-id')[:5]   
  return render_to_response(
        'client_list.html',
        locals(),
        context_instance=RequestContext(request))

Em quarta-feira, 23 de maio de 2012 09h25min00s UTC-3, Cristian Piero escreveu:

Cristian Piero

unread,
May 24, 2012, 1:27:16 PM5/24/12
to django...@googlegroups.com
Valeu Erico,

solucionou o meu problema.

Obrigado.


Cristian Piero | Desenvolvedor Web
Telefone: (55) 91568177



Em 24 de maio de 2012 13:51, erico <eric...@gmail.com> escreveu:
locals()

Vinicius Mendes

unread,
May 24, 2012, 4:37:54 PM5/24/12
to django...@googlegroups.com
O seu MEDIA_URL está vindo vazio por que ele é populado por um TEMPLATE_CONTEXT_PROCESSOR. A função render_to_response por padrão não executa ele por que usa Context como parâmetro para context_instance. Se você usar o RequestContext como mostra a documentação, resolverá: https://docs.djangoproject.com/en/dev/topics/http/shortcuts/#id2.

O Igor Sobreira escreveu há um bom tempo sugerindo usar o direct_to_template no lugar do render_to_response: http://igorsobreira.com/blog/2010/9/11/replacing-render_do_response-with-direct_to_template-in-django/

Eu particularmente gosto por que não preciso ficar passando RequestContext sempre.

Vindo ao mundo das class based views, acredito que se você usar a TemplateView ( https://docs.djangoproject.com/en/dev/ref/class-based-views/#django.views.generic.base.TemplateView ), ela também utilize o RequestContext por padrão.

Cristian Piero

unread,
May 24, 2012, 5:17:30 PM5/24/12
to django...@googlegroups.com
Humm... muito interessante,

obrigado pelo esclarecimento teórico agora entendi.

E isso também soluciona o meu problema.

Valeu


Cristian Piero | Desenvolvedor Web
Telefone: (55) 91568177



Matheus Lima

unread,
May 24, 2012, 5:19:47 PM5/24/12
to django...@googlegroups.com
Eu nunca tinha percebido isso, porque costumo usar o shortcut render(), com o render também não precisa passar a instância do contexto.

Vinicius Mendes

unread,
May 24, 2012, 9:35:21 PM5/24/12
to django...@googlegroups.com
Na documentação do Django fala do render: https://docs.djangoproject.com/en/dev/topics/http/shortcuts/#render

Como a própria documentação fala, "render() is the same as a call to render_to_response() with a context_instance argument that forces the use of aRequestContext."

Atenciosamente,
Vinicius Mendes
Engenheiro de Computação
Globo.com



2012/5/24 Matheus Lima <mathe...@gmail.com>

Mário Neto

unread,
May 25, 2012, 10:04:37 AM5/25/12
to django...@googlegroups.com
voto no render tbm, hehe..
Att. Mário Araújo Chaves Neto
Programmer, Designer and U.I. Engineer

MBA in Design Digital - 2008 - FIC
Analysis and Systems Development - 2011 - Estácio
Design and Implementation of Internet Environments - 2003 - FIC

Reply all
Reply to author
Forward
0 new messages