Как использовать шаблоны представлений Django?Python

Программы на Python
Ответить
Anonymous
 Как использовать шаблоны представлений Django?

Сообщение Anonymous »

Я пытаюсь создать CreateView в Django, но столкнулся с ошибкой «шаблон не найден» (показан ниже)
Изображение

В настоящее время у меня есть следующий код:
views.py :

Код: Выделить всё

from django.shortcuts import render
from django.views.generic import (
ListView, DetailView, CreateView, DeleteView
)
from .models import EventPost

class EventPostListView(ListView):
model = EventPost
template_name = "event_blog/home.html"
context_object_name = "event_posts"
ordering = ['-date_posted']

class EventPostDetailView(DetailView):
model = EventPost

class EventPostCreateView(CreateView):
model = EventPost
fields = ['name', 'location', 'locked', 'description', 'image']
urls.py:

Код: Выделить всё

from django.urls import path
from .views import *

urlpatterns = [
path("", EventPostListView.as_view(), name="event-blog-home"),
path("event//", EventPostDetailView.as_view(), name="post-detail"),
path("event/new/", EventPostCreateView.as_view(), name="post-create"),
]
Вы можете видеть, что я уже использовал ListView и DetailView, которые работали нормально. Код из этих представлений также расширяет event_blog/base.html, поэтому я не думаю, что это станет проблемой.
Вот каталог для файлов:
Изображение

И HTML-код для шаблон, если он вам нужен:

Код: Выделить всё

{% extends "event_blog/base.html" %}
{% load crispy_forms_tags %}
{% block content %}


{% csrf_token %}

New Event
{{ form|crispy }}


Post



{% endblock content %}
Также модель:

Код: Выделить всё

class EventPost(models.Model):
name = models.CharField(max_length=100)
location = models.CharField(max_length=100)
locked = models.BooleanField(default=True, editable=True)
description = models.TextField()
attendance = models.IntegerField(default=0)
image = models.ImageField(upload_to='event_pics', blank=True)
author = models.ForeignKey(User, on_delete=models.CASCADE)
date_posted = models.DateTimeField(default=timezone.now)

def __str__(self):
return self.name
Возможно, имя шаблона по умолчанию изменилось, но мне не удалось найти никакой информации, подтверждающей это. Я также попытался добавить в свое представление следующую строку:

Код: Выделить всё

template_name = "event_blog/eventpost_form.html"
Однако и это оказалось безуспешным. Я что-то делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/774 ... tes-django
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»