Opened 19 years ago
Closed 19 years ago
#294 closed enhancement (fixed)
Use setuptools more aggressively for templates
Reported by: | Owned by: | Adrian Holovaty | |
---|---|---|---|
Component: | Template system | Version: | |
Severity: | normal | Keywords: | template setuptools |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Locating templates provides the major source of my problems in setting up new django sites from a source checkout. Since most of my templates are closely associated with the python code in the apps it makes sense for me to use setuptools' resource location abilities to find templates.
For example in myproject/settings/admin.py:
from pkg_resources import resource_filename
TEMPLATE_DIRS = (
resource_filename('django.conf', 'admin_templates')
)
It would be really nice if this approach was encouraged as it would remove most of the problems for first time users setting up their sites. In fact, if django tried a set of standard locations for templates using resource_filename it should allow people to setup django sites easily just by checking out python modules and adding them to the INSTALLED_APPS. For example myproject/apps/myapp/templates could be a useful default. PS this issue gets a submitter-just-drank-5-pints-of-guinness rating in terms of coherence, try me tomorrow for more elaboration.
Change History (4)
comment:1 by , 19 years ago
milestone: | Version 1.0 |
---|
comment:2 by , 19 years ago
comment:3 by , 19 years ago
Yes! I just did this on my config and was going to submit a ticket of my own. Using resource_filename
is ok as long as the templates are not in a zipped EGG although it's recommended to use the resource_string
to read resources directly from the EGG. So, it may be good for the template loader to have a mechanism for loading templates via pkg_resources
. See http://peak.telecommunity.com/DevCenter/PythonEggs#accessing-package-resources
comment:4 by , 19 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
This seems to be resolved with the new template loading framework : templates can be loaded out of an egg or an app.
Reopen if you feel this still an issue.
Just searching through sitename.apps.appname.templates and sitename.templates would be nice. Though, the former might require the kind of introspection I was decrying in {122}. :)