#5163 closed (worksforme)
django.contrib.auth.views.login depends on sites framework
Reported by: | Owned by: | Adrian Holovaty | |
---|---|---|---|
Component: | Contrib apps | Version: | dev |
Severity: | Keywords: | ||
Cc: | Triage Stage: | Accepted | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
The handy login view appears to be depending on the sites framework for the sole reason of providing the site name in the context given to the template. Would it be possible to add the site name only if the sites framework is installed, turning the framework into a soft dependency?
I run a single site so I don't need the sites framework. It just confuses my users when it turns up in the admin.
Change History (4)
comment:1 by , 17 years ago
comment:2 by , 17 years ago
Triage Stage: | Unreviewed → Accepted |
---|
(Moving to "Accepted", since being able to operate with a reduced sites framework setup isn't a bad goal. But somebody is going to have to do some real design work here. Probably worth sending initial design discussions to django-dev once you have made a first pass at it.)
comment:3 by , 17 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
My patch in #987 would fix getting the current domain name without needing sites
.
Apart from that, the login view *doesn't* have a hard dependency:
if Site._meta.installed: current_site = Site.objects.get_current() else: current_site = RequestSite(request)
current_site.name
will just equal request.META['SERVER_NAME']
if sites
isn't installed.
comment:4 by , 17 years ago
Great! Sorry for the confusion, the code has obviously been changed since my checkout.
There's a bunch of stuff that depends on the sites framework like this and having the correct domain name available is important in some of these places. So we would need a way to have access to the correct domain name even if sites wasn't available.
This is possible in any number of ways, but anybody wanting to write a patch for this should ensure it works with aliased DNS names, Apache virtual hosts, as well as standard single-home, single named servers. It should also work seamlessly, in that existing code shouldn't break, ideally.