Views simple tricks

Процесс загрузки шаблона в Django

  1. Добавление контекста
  2. Возвращение HttpResponse
from django.http import HttpResponse

def get(self, request, *args, **kwargs):
	response = 'Hello, World'
	return HttpResponse(response)

Render

Для этих целей в Django есть функция render(request, template, dict), принимает агрументы:

  1. request — обьект запроса
  2. template — назваине шаблона
  3. dict — словарь значений
from django.shortcuts import render

def index(request):
	data = 'Hello World'
	return render(request, 'index/index.html', {'var1': data} )
from django.shortcuts import render

def index(request):
	data = {
		'var1': 'data',
		'var2': 'data',
			}
	return render(request, 'index/index.html', data )

404

Для вызова 404 в Django можно вызвать метод Http404() как exception

Или воспользоватся методом  — get_object_or_404()

from django.shortcuts import render, get_object_or_404
from .models import Articles

def index(request, question_id=None):
	articles = get_object_or_404(Articles, pk=question_id)
	data = {
		'hello': 'Hello World!',
		'articles': articles,
			}
	return render(request, 'index/index.html', data )

Для обработки 404 ошибки и показа собственной страницы 404 необходимо в папку templates положить файл 404.html.

Стоит помнить, что это будет работать только если в settings.py

  • DEBUG= False,
  • ALLOWED_HOSTS[*], где * — адрес хоста с на котором запущено приложение.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *