У меня есть функциональное представление, которое я хочу, если я задаю URL, чтобы показать страницу 404.
Я знаю, что его можно установить в файле settings.py с помощью DEBUG = True, но у меня серьезные проблемы с этим.
Теперь я могу сделать только эту страницу с Http404?
url.py
url(r'^reporte_servicio_externo/(?P<pk>[\w{}.-]{20})/$', 'apps.servicios.views.reporte_servicio_externo',
name='reporte_servicio_externo')
view.py
def reporte_servicio_externo(request, pk):
anuncio = Anuncio.objects.get(pk=get_unhash(pk))
anuncioproyectos = AnuncioProyectos.objects.filter(anuncio=anuncio)
cadena_tipo_carga = []
cadena_actividad = []
cadena_trafico = []
cadena_escala = []
cadena_ambito = []
cadena_articulo = []
cadena_tipo_producto = []
cadena_muelles = []
title_meta = 'Reporte Anuncio'
title = 'Reporte Anuncio'
if anuncio.tipo_carga:
tipo_carga = anuncio.tipo_carga.all()
for i in tipo_carga:
cadena_tipo_carga.append(i.nombre)
if anuncio.amarraderos:
amarraderos = anuncio.amarraderos.all().values('nombre')
for item in amarraderos:
cadena_muelles.append(item['nombre'])
for item in anuncioproyectos:
if item.escala:
cadena_escala.append(item.escala)
if item.ambito:
cadena_ambito.append(item.ambito.nombre)
if item.articulo:
cadena_articulo.append(item.articulo.nombre)
if item.tipo_producto:
cadena_tipo_producto.append(item.tipo_producto.nombre)
for i in item.actividad.all():
cadena_actividad.append(i.nombre)
for i in item.tipo_trafico.all():
cadena_trafico.append(i.nombre)
cadena_tipo_carga = ", ".join(list(set(cadena_tipo_carga)))
cadena_actividad = ", ".join(list(set(cadena_actividad)))
cadena_trafico = ", ".join(list(set(cadena_trafico)))
cadena_escala = ", ".join(list(set(cadena_escala)))
cadena_ambito = ", ".join(list(set(cadena_ambito)))
cadena_articulo = ", ".join(list(set(cadena_articulo)))
cadena_tipo_producto = ", ".join(list(set(cadena_tipo_producto)))
cadena_muelles = ", ".join(list(set(cadena_muelles)))
return render('externo/ServicioExterno/reporte_servicio_externo.html', locals(), context_instance=ctx(request))
Попробуйте этот пример, но ничего. Но мне чего-то не хватает, но я не знаю, что это такое.
пример django docs
from django.http import Http404
from django.shortcuts import render
from polls.models import Poll
def detail(request, poll_id):
try:
p = Poll.objects.get(pk=poll_id)
except Poll.DoesNotExist:
raise Http404("Poll does not exist")
return render(request, 'polls/detail.html', {'poll': p})```