#23535: A bit vague instructions about modifying templates in tutorial 2
--------------------------------------+---------------------------------
     Reporter:  velis74               |      Owner:  nobody
         Type:  Cleanup/optimization  |     Status:  new
    Component:  Documentation         |    Version:  1.7
     Severity:  Normal                |   Keywords:  tutorial, templates
 Triage Stage:  Unreviewed            |  Has patch:  0
Easy pickings:  1                     |      UI/UX:  0
--------------------------------------+---------------------------------
 I'm running through tutorials @ django sprint PyConUK and I just had a bit
 of a problem with the section "Customize the admin look and feel"
 (https://docs.djangoproject.com/en/1.7/intro/tutorial02/).

 In the tutorial, it says: "Then, just edit the file and replace ''{{
 site_header }}'' with your own site’s name as you see fit."

 There are two issues with this:
 1. the tag in base_site.html itself is actually ''{{
 site_header|default:_('Django administration') }}''
 2. changing the default part (''default:_('Django administration')'')
 doesn't work since the ''site_header'' variable is actually defined.

 The documentation mentions the ''site_header'' variable location in the
 same paragraph, but for a new user (such as myself) it is not immediately
 obvious what the entire thing means.

 I would like to discuss two issues regarding this:
 1. The necessity of the ''default:'' specification in the template itself
 (Daniele Procida's suggestion)
 2. Appropriate change in the documentation where the text would be more
 specific about what to change

 Argumentation for issue 1:
 The ''default:'' specification may not even be necessary since the
 site_header variable is declared by default and automatically works.
 Setting it to ''None'' or even ''del''eting it seems like a pretty stupid
 idea, so I would argue that the ''default:'' spec in the template might be
 redundant. I have not tested how the framework reacts to the variable not
 being defined or ''None'' though.

 I propose to fix this by editing the template to remove the ''default:''
 specifications both for ''site_title'' and ''site_header'' variables.

 Argumentation for issue 2:
 I propose to change the text of this paragraph to:
 Then, just edit the file and replace ''{{ site_header }}'' tag with your
 own site’s name as you see fit. Note that in the template, the tag itself
 also contains a ''default'' specification for when the ''site_header''
 variable wouldn't be defined. Since the variable IS defined, you have to
 replace the entire tag text with your own, to e.g. ''{{_('Polls
 administration') }}''
 '''Note:''' We use this approach to teach you how to override templates.
 In an actual project, you would probably use the
 django.contrib.admin.AdminSite.site_header attribute to more easily make
 this particular customization.

--
Ticket URL: <https://code.djangoproject.com/ticket/23535>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/050.f2c1f866af9f243c3e916d2105f4d77b%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to