Hasta ahora, la documentación para Django ha sido demasiado técnica. ¿Cómo creo una sesión y almaceno variables en ella o obtengo variables de ella? Soy nuevo en el marco de Django, por lo tanto, la documentación es demasiado técnica. Las sesiones son mi "último paso".Crear una sesión en Django
Respuesta
Suponiendo que deseas sesiones basadas en bases de datos (Django también ofrece sesiones basado en archivos, y las sesiones en función de caché):
- settings.py abierto y encontrar
MIDDLEWARE_CLASSES
. Agregue'django.contrib.sessions.middleware.SessionMiddleware'
a la lista. - Encuentra
INSTALLED_APPS
en el mismo archivo y agrega'django.contrib.sessions'
allí. - Ejecute
manage.py syncdb
desde la línea de comandos.
Después de la configuración inicial, puede usar request.session
en sus vistas para almacenar información entre las solicitudes.
Por ejemplo, esto va a almacenar la información:
request.session['name'] = 'Ludwik'
y se puede recuperar como fácilemte:
print request.session['name']
o
if request.session['name'] == 'Ludwik':
print 'you are awesome!'
Para otras cosas que puede hacer con el request.session
objeto ver the documentation.
La respuesta de Ludwik es el camino a seguir, pero si quieres una introducción más suave al mundo de Django, (the (free) Django Book) es una lectura obligada. Chapter 15 se ocupa de las sesiones.
MIDDLEWARE_CLASSES deben tener -
'django.contrib.sessions.middleware.SessionMiddleware'
INSTALLED_APPS debe tener -
'django.contrib.sessions'
cambiar nuestra visión entrada para salvar a nuestro lado del servidor de galletas nombre de usuario -
def login(request):
username = 'not logged in'
if request.method == 'POST':
MyLoginForm = LoginForm(request.POST)
if MyLoginForm.is_valid():
username = MyLoginForm.cleaned_data['username']
request.session['username'] = username
else:
MyLoginForm = LoginForm()
return render(request, 'loggedin.html', {"username" : username}
CREATE VIEW formview para el formulario de inicio de sesión, donde no mostraremos el formulario si se establece la cookie -
def formView(request):
if request.session.has_key('username'):
username = request.session['username']
return render(request, 'loggedin.html', {"username" : username})
else:
return render(request, 'login.html', {})
cambio el archivo url.py cambiar la URL por lo que se empareja con nuestra nueva visión -
from django.conf.urls import patterns, url
from django.views.generic import TemplateView
urlpatterns = patterns('myapp.views',
url(r'^connection/','formView', name = 'loginform'),
url(r'^login/', 'login', name = 'login'))
url(r'^logout/', 'logout', name = 'logout'),
crear una visión de cierre de sesión simple que borra nuestra cookie.
def logout(request):
try:
del request.session['username']
except:
pass
return HttpResponse("<strong>You are logged out.</strong>")
- 1. Python: Cómo "bifurcar" una sesión en django
- 2. Django iniciar sesión/cerrar sesión
- 3. Transacciones por sesión en Django
- 4. Crear sesión en C#
- 5. Django: Cómo crear una clasificación
- 6. ¿Cómo crear una babosa unique_for_field en Django?
- 7. Crear una sesión de inicio de sesión interactiva
- 8. ¿Cómo crear una sesión usando JavaScript?
- 9. SQLAlchemy: Crear vs. Reutilizar una sesión
- 10. httpservletrequest - crear nueva sesión/cambiar sesión Id
- 11. No puedo iniciar sesión en Django admin
- 12. django crear usuario y registrarlo en
- 13. ¿Hay una plantilla de inicio de sesión integrada en Django?
- 14. Prueba de una variable de sesión en Django
- 15. Crear usuarios en LDAP utilizando Django
- 16. Caducidad de la sesión Django?
- 17. Iniciar sesión en Django sin autenticar
- 18. Django - Almacenar objetos en la sesión
- 19. ¿Es posible crear una variable de sesión en JavaScript?
- 20. cómo crear una sesión de solo lectura en nHiberate?
- 21. "auditoría crear sesión por sesión" vs. "auditoría crear sesión por acceso"?
- 22. Diccionario de modificación dentro de Django Sesión no modifica Sesión
- 23. Django crear informe
- 24. Hacking Django Admin, ganchos para iniciar sesión/cerrar sesión
- 25. Comprobar si la clave de sesión está establecida en Django
- 26. Crear sesión de hibernación por solicitud
- 27. Compartir una tienda de sesión en Redis para una aplicación Django y Express.js
- 28. Subir video y crear una miniatura del video en django
- 29. Pérdida de sesión de Django 1.2
- 30. Django: ¿señal cuando el usuario inicia sesión?