Tôi đang cố gắng lấy người dùng hiện đã đăng nhập và hiển thị ở đầu mỗi chế độ xem. Tôi đã tìm kiếm tất cả các nơi cho điều này, nhưng tôi không bao giờ có thể tìm thấy một câu trả lời thẳng cho vấn đề của tôi.Nắm bắt người dùng đăng nhập hiện tại bằng chế độ xem lớp Django?
Tôi có thể lấy nó ở dạng xem biểu mẫu, nhưng vì một lý do nào đó tôi không thể hiển thị nó ở chế độ xem bình thường. Nó làm tôi khốn khổ.
from django.http import HttpResponse, Http404
from django.views.generic import ListView, DetailView, FormView
from django.template import RequestContext, loader, Context
from django.core.urlresolvers import reverse
from boards.models import Links, LinksCreateForm, Category
from django.contrib.auth.models import User
def get_user(request):
current_user = request.get.user
return current_user
class LinksListView(ListView):
model = Links
class LinksDetailView(DetailView):
model = Links
class LinksCreateView(FormView):
template_name = 'boards/link_create.html'
form_class = LinksCreateForm
def form_valid(self, form):
name = form.cleaned_data['name']
description = form.cleaned_data['description']
user = self.request.user
category = Category.objects.get(id=form.cleaned_data['category'].id)
link = Links(name=name, description=description, user=user, category=category)
link.save()
self.success_url = '/boards/'
return super(LinksCreateView, self).form_valid(form)
Làm việc hoàn hảo, cảm ơn. –
giải pháp đó không thực sự là django-ish. Xem câu trả lời của câu trả lời sneawo. – migajek
Câu hỏi được đặt ra cho người dùng trong chế độ xem chứ không phải trong mẫu. câu trả lời của sneawo là hoàn hảo khác. –