Herramientas de usuario

Herramientas del sitio


wiki2:python:django:views

¡Esta es una revisión vieja del documento!


Django Views

Devolver el resultado de una función como vista:

# En urls:
urlpatterns = [
    path('videos/', views.VideoListView.as_view(), name='videos'),
]
 
# En views:
from django.http import HttpResponse
def index(request):
    return HttpResponse('Hey yo!')

How to...

Get data from url

En generic views

If you don't want to pass a pk or slug in your url, you'll need to override the get_object method and get your object another way.

path('profile/<username>', views.UserDetailView.as_view(), name='profile')

:?: Me pregunto si hay otra forma mejor de sacar el parámetro de la url en vez de sobreescribiendo el dispatch

class UserDetailView(generic.DetailView):
    model = apps.get_model('openawards', 'User')
    username = ''

    def dispatch(self, request, *args, **kwargs):
        super().dispatch(request, *args, **kwargs)
        self.username = kwargs.get('username', '')

    def get_object(self):
        username = self.request.GET.get('username', '')
        return get_object_or_404(get_user_model(), username=username)

Si los datos viniesen por query string:

username = self.request.GET.get('username', '')
wiki2/python/django/views.1539508785.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)