id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 23535,Clarify presence of default filter in tutorial 2,Jure Erznožnik,nobody,"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.",Cleanup/optimization,closed,Documentation,1.7,Normal,fixed,"tutorial, templates",,Accepted,0,0,0,0,1,0