Cada vez que abro una página deseo obtener el ID del proyecto actualmente activo. Esto se hará chapando el subdominio y verificando que el usuario actualmente conectado pueda verlo.Opciones de Django para hacer que las variables estén ampliamente disponibles
Una vez que llego a mi punto de vista que quieren ser capaces de hacer
tasks = Task.objects.filter(project = current_project)
DÓNDE current_project (o CURRENT_PROJECT o current_project ???) ya ha sido configurado.
¿Alguien puede explicar los pros/contras de los diversos enfoques que he encontrado en los documentos y ponerme en el camino correcto?
- Sesiones
- Middleware
- de roscado
- órdenes internas
Así fue como lo hice en el final:
decorador:
def check4project(fn):
current_project = 'fred'
def check(*args, **kw):
kw['project']=current_project
return fn(*args, **kw)
return check
Ver ejemplo
@login_required
@check4project
@tweetpost
def index(request, project=0):
print project
Gracias por su útil respuesta, me ha ayudado a aclarar las diversas opciones. Me gusta el sonido de 3. porque es una manera fácil de validar que el usuario tenga acceso al proyecto al mismo tiempo y la mayoría pero no todas las vistas deben conocer el proyecto. – PhoebeB
+1 para decorador de vistas. –