def query_set(self):
queryset = super().get_queryset()
return queryset.filter(recipient = self.request.user)
# class DeletePrivateMessage(LoginRequiredMixin,SelectRelatedMixin,generic.DeleteView):
# model = PrivateMessage
# select_related = ('sender','recipient')
# success_url = reverse_lazy('private_messages:list')
#
# def get_queryset(self):
# queryset = super().get_queryset()
# return queryset.filter(recipient = self.request.user)
#
# def delete(self,*args,**kwargs):
# messages.success(self.request,'Message Deleted')
# return super().delete(*args,**kwargs)
python类reverse_lazy()的实例源码
def get(self, request, *args, **kwargs):
""" Makes a clone within the current mission of a specified test case """
# Verify the test case passed is an int and within the path's mission
id_to_clone = int(self.kwargs['pk'])
passed_mission_id = int(self.kwargs['mission'])
try:
test_case = TestDetail.objects.get(pk=id_to_clone)
except TestDetail.DoesNotExist:
return HttpResponse("Test case not found.", status=404)
if test_case.mission.id != passed_mission_id:
return HttpResponse("Test case not linked to specified mission.", status=400)
test_case.pk = None
test_case.test_case_status = 'NEW'
test_case.save()
return HttpResponse(reverse_lazy('mission-test-edit',
kwargs={'mission': test_case.mission.id, 'pk': test_case.pk}))
def post(self, request, *args, **kwargs):
"""Post response."""
self.form = self.get_form(self.form_class)
number = request.POST['number']
name = request.POST['name']
number, modified = validate_number(number)
if self.form.is_valid() or modified:
if Contact.objects.filter(number=number):
contact = Contact.objects.filter(number=number).first()
contact.name = name
contact.save()
else:
contact = Contact(name=name, number=number)
contact.save()
pk = contact.pk
return redirect(reverse_lazy("contact_detail", kwargs={'pk': pk}))
return self.get(request, *args, **kwargs)
def post(self, request, *args, **kwargs):
"""Post response."""
self.form = self.get_form(self.form_class)
number = request.POST['number']
number, modified = validate_number(number)
if self.form.is_valid() or modified:
contact = Contact.objects.filter(id=kwargs["pk"]).first()
contact.name = request.POST['name']
contact.number = number
try:
contact.save()
except IntegrityError:
return self.get(request, *args, **kwargs)
pk = contact.pk
return redirect(reverse_lazy("contact_detail", kwargs={'pk': pk}))
return self.get(request, *args, **kwargs)
def post(self, request, *args, **kwargs):
"""Post response."""
self.object = None
self.form = self.get_form(self.form_class)
number = request.POST['number']
if len(number) > 11 or number.isalpha():
return self.get(request, *args, **kwargs)
number = "+" + number
if Contact.objects.filter(number=number):
contact = Contact.objects.filter(number=number).first()
else:
contact = Contact(number=number)
contact.save()
pk = contact.pk
return redirect(reverse_lazy('contact_detail', kwargs={'pk': pk}))
def test_complete_todo_action(self):
self.login()
active_todo_count = self.browser.find_element_by_id("id_todos_count").text
self.assertEqual(int(active_todo_count), 2)
self.browser.find_element_by_id("todo-complete-action-%s" % self.active_todo_1.id).click()
self.browser.get('%s%s' % (self.live_server_url, reverse_lazy("todos:completed_list")))
user_completed_todo_count = Todo.objects.filter(user=self.user, done=True).count()
todo_count_in_html_elem = self.browser.find_element_by_id("id_todos_count").text
self.assertEqual(int(todo_count_in_html_elem), user_completed_todo_count)
user_completed_todo = Todo.objects.filter(user=self.user, done=True).first()
self.browser.find_element_by_id("todo-active-action-%s" % user_completed_todo.id).click()
self.browser.get('%s%s' % (self.live_server_url, reverse_lazy("todos:active_list")))
user_active_todo_count = Todo.objects.filter(user=self.user, done=False).count()
todo_count_in_html_elem = self.browser.find_element_by_id("id_todos_count").text
self.assertEqual(int(todo_count_in_html_elem), user_active_todo_count)
def get(self, request, instance, redirect_url, *args, **kwargs):
itens_venda = instance.itens_venda.all()
pagamentos = instance.parcela_pagamento.all()
instance.pk = None
instance.id = None
instance.status = '0'
instance.save()
for item in itens_venda:
item.pk = None
item.id = None
item.save()
instance.itens_venda.add(item)
for pagamento in pagamentos:
pagamento.pk = None
pagamento.id = None
pagamento.save()
instance.parcela_pagamento.add(pagamento)
return redirect(reverse_lazy(redirect_url, kwargs={'pk': instance.id}))
def get(self, request, instance, redirect_url, *args, **kwargs):
itens_compra = instance.itens_compra.all()
pagamentos = instance.parcela_pagamento.all()
instance.pk = None
instance.id = None
instance.status = '0'
instance.save()
for item in itens_compra:
item.pk = None
item.id = None
item.save()
instance.itens_compra.add(item)
for pagamento in pagamentos:
pagamento.pk = None
pagamento.id = None
pagamento.save()
instance.parcela_pagamento.add(pagamento)
return redirect(reverse_lazy(redirect_url, kwargs={'pk': instance.id}))
def get(self, request, *args, **kwargs):
nota_id = kwargs.get('pk', None)
nota_obj = NotaFiscalSaida.objects.get(pk=nota_id)
resp = HttpResponse(content_type='application/pdf')
processador_nota = ProcessadorNotaFiscal()
danfe_pdf = processador_nota.gerar_danfe(nota_obj)
if processador_nota.erro:
messages.error(self.request, processador_nota.message)
return redirect(reverse_lazy('fiscal:editarnotafiscalsaidaview', kwargs={'pk': nota_obj.id}))
else:
messages.success(self.request, processador_nota.message)
resp.write(danfe_pdf)
return resp
def get(self, request, *args, **kwargs):
nota_id = kwargs.get('pk', None)
nota_obj = NotaFiscalSaida.objects.get(pk=nota_id)
resp = HttpResponse(content_type='application/pdf')
processador_nota = ProcessadorNotaFiscal()
danfce_pdf = processador_nota.gerar_danfce(nota_obj)
if processador_nota.erro:
messages.error(self.request, processador_nota.message)
return redirect(reverse_lazy('fiscal:editarnotafiscalsaidaview', kwargs={'pk': nota_obj.id}))
else:
messages.success(self.request, processador_nota.message)
resp.write(danfce_pdf)
return resp
def get(self, request, *args, **kwargs):
if request.user.is_authenticated():
return HttpResponseRedirect(reverse_lazy('core:index'))
return super(LoginView, self).get(request, *args, **kwargs)
def get_success_url(self):
return reverse_lazy('student_course_detail', args=[self.course.id])
def get(self, request, *args, **kwargs):
try:
return super(ResultView, self).get(request, *args, **kwargs)
except Http404:
messages.add_message(self.request, messages.WARNING,
_('Check result does not exist (anymore)'))
return HttpResponseRedirect(redirect_to=reverse_lazy(
'django_datawatch_index'))
def get_success_url(self):
return reverse_lazy('django_datawatch_index')
def get_success_url(self):
return reverse_lazy('django_datawatch_result', kwargs=dict(pk=self.object.pk))
def get_redirect_url(self, *args, **kwargs):
return reverse_lazy('django_datawatch_result', kwargs=dict(pk=self.object.pk))
def get_redirect_url():
return reverse_lazy('horizon:project:vpn:index')
def get_redirect_url():
return reverse_lazy('horizon:project:vpn:index')
def get_redirect_url():
return reverse_lazy('horizon:project:vpn:index')
def get_redirect_url():
return reverse_lazy('horizon:project:vpn:index')
def get_redirect_url():
return reverse_lazy("horizon:project:loadbalancers:index")
def get_redirect_url():
return reverse_lazy("horizon:project:loadbalancers:index")
def get_context_data(self, **kwargs):
context = super(RuleDetailsView, self).get_context_data(**kwargs)
rule = self.get_data()
table = fw_tabs.RulesTable(self.request)
breadcrumb = [
(_("Firewalls"),
reverse_lazy('horizon:project:firewalls:firewalls')),
(_("Rules"), reverse_lazy('horizon:project:firewalls:rules'))]
context["custom_breadcrumb"] = breadcrumb
context["rule"] = rule
context["url"] = self.failure_url
context["actions"] = table.render_row_actions(rule)
return context
def get_context_data(self, **kwargs):
context = super(PolicyDetailsView, self).get_context_data(**kwargs)
policy = self.get_data()
table = fw_tabs.PoliciesTable(self.request)
breadcrumb = [
(_("Firewalls"),
reverse_lazy('horizon:project:firewalls:firewalls')),
(_("Policies"),
reverse_lazy('horizon:project:firewalls:policies'))]
context["custom_breadcrumb"] = breadcrumb
context["policy"] = policy
context["url"] = self.failure_url
context["actions"] = table.render_row_actions(policy)
return context
def get_redirect_url():
return reverse_lazy('horizon:project:images:index')
def get_redirect_url():
return reverse_lazy('horizon:project:networks:index')
def get_data(self):
try:
namespace = glance.metadefs_namespace_get(
self.request, self.kwargs['namespace_id'], wrap=True)
except Exception:
url = reverse_lazy(constants.METADATA_INDEX_URL)
exceptions.handle(self.request,
_('Unable to retrieve namespace details.'),
redirect=url)
else:
return namespace
def get_redirect_url():
return reverse_lazy('horizon:admin:networks:index')
def get_absolute_url(self):
target = reverse_lazy('blog:user_blog', args=[self.author.username])
return target
def get_absolute_url(self):
target = reverse_lazy('blog:post_detail',
args=[self.author.username, self.slug])
return target