To utilize django’s own provided templates like forgot password, change password and such templates and views funcionality, I made my own templates for login e.t.c. But after some time I found that there are many views and templates already present that one can utilize just by providing right URL but only problem is that these templates are extending django’s own template. So I want to know that is there a way to only set extended template of my own choice that is my site’s main template so that I just give the URL of forgot password or change password e.t.c. related pages and django render the template by extending my main template instead of django’s own template. I am not sure if admin panel is extending the same template that other pages are.
Please tell how can I do so and also please tell if doing so can have any problem.
More detail:
I know inheritance and extending with our template file but how can I set my own template in such way that they automatically inherit mine.
For example, for forgotpassword, I had to make a template file and need to paste form elements and top of it I write {%extends main.html%} but I don’t want that, I know that default forgot password template is being inherited from some default django template I want to set it some so that it always inherit from my template in that case.
Short answer: You have to write your own templates.
Longer answer:
Django does include some templates, but these are all intended solely for the admin application. The auth views default to using ‘registration/some_template.html’, and those templates all live in the admin app ( see https://github.com/django/django/tree/master/django/contrib/admin/templates/registration). The auth views all support a
templatekeyword argument that you can supply in your URLConf, so that you can specify which of your own templates to use.Think of the admin templates as a reference that you can use when writing your own templates, but not as something you’re meant to use directly.