SORU
11 Ocak 2009, Pazar


Django şablonlar dan settings.py erişim sabitler miyim?

Bir şablondan erişmek mümkün olmak istiyorum settings.py bazı şeyler var, ama nasıl yapılacağını çözemedim. Ben zaten denedim

{{CONSTANT_NAME}}

ama çalışmak için görünmüyor. Bu mümkün mü?

CEVAP
11 Ocak 2009, Pazar


Eğer her istek için & şablon için istediğiniz bir değeri varsa, context processor kullanarak daha uygundur.

İşte nasıl:

  1. Bir oluncontext_processors.pyuygulama dizininizdeki dosya. Hadi her bağlamda: ADMIN_PREFIX_VALUE değeri var

    from django.conf import settings # import the settings file
    
    def admin_media(request):
        # return the value you want as a dictionnary. you may add multiple values in there.
        return {'ADMIN_MEDIA_URL': settings.ADMIN_MEDIA_PREFIX}
    
  2. senin için bağlam işlemci ekleyinsettings.pydosya:

    TEMPLATE_CONTEXT_PROCESSORS = (
        # whatever comes before
        "your_app.context_processors.admin_media",
    )
    
  3. Sizin bakış RequestContext şablon: içerik işlemciler eklemek için kullanın

    from django.template import Template, context, RequestContext
    from django.shortcuts import render_to_response
    
    def my_view(request):
        return render_to_response(
            "index.html",
            context_instance=RequestContext(request)
        )
    
  4. ve son olarak, şablon:

    ...
    <a href="{{ ADMIN_MEDIA_URL }}">path to admin media</a>
    ...
    

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Numberphile

    Numberphile

    15 EYLÜL 2011
  • The CGBros

    The CGBros

    20 AĞUSTOS 2011
  • YouChewBu

    YouChewBu

    26 Ocak 2009