TemplateDoesNotExist в /poll/poll/result.html - PullRequest
       16

TemplateDoesNotExist в /poll/poll/result.html

0 голосов
/ 30 сентября 2018

Я получаю эту ошибку TemplateDoesNotExist в /poll/poll/result.html ... Я думаю, что я указываю на poll / poll / result.html, но как мне указать на poll / result.html

{'Gender': <QuerySet [{'Gender': 'female', 'Diseases': 'Malaria', 'Number': 1}, {'Gender': 'female', 'Diseases': 'cholera', 'Number': 2}

Я новичок в django, но, возможно, я ошибаюсь здесь. Это структура файла для template.html: mysite / polls / templates / polls / template.html и для result.html его mysite / polls/templates/polls/result.html

Views.py

from django.views.generic import ListView, CreateView, UpdateView
from django.urls import reverse_lazy
from . models import MyModel
from . forms import MyModelForm
from django.db.models import Count
from django.shortcuts import render, get_object_or_404
from django.http import HttpResponse, HttpResponseRedirect
from django.urls import reverse
from django.views.generic.list import ListView


class CreateMyModelView(CreateView):
    model = MyModel
    form_class = MyModelForm
    template_name = 'poll/template.html'
    success_url = 'poll/result.html'


class MyModelListView(ListView):
    model = MyModel

    def get_queryset(self):
        queryset = MyModel.objects.values('Gender', 'Diseases').annotate(Number=Count("Gender"))
        return render('poll/result.html', {'Gender': queryset})

urls.py

from django.conf.urls import url

from django.urls import path
from . import views

urlpatterns = [
                url(r'^$', views.CreateMyModelView.as_view(), name='abc'),
                path('poll/result.html', views.MyModelListView.as_view(), name='result'),
]

models.py

from django.db import models

Gender = (
    ('male', 'MALE'),
    ('female', 'FEMALE'),
)

Diseases = (
    ('cholera', 'CHOLERA'),
    ('hiv', 'HIV'),
    ('Malaria', 'MALARIA'),
    ('Typhoid', 'TYPHOID'),
)


class MyModel(models.Model):
    Gender = models.CharField(max_length=16, choices=Gender, default='MALE')
    Diseases = models.CharField(max_length=16, choices=Diseases, default='MALARIA')
    vote = models.IntegerField(default=0)

    def __str__(self):
        return self.Gender

    def __str__(self):
        return self.Diseases

result.html

{% extends 'polls/base.html' %}

{% block main_content %}

<h1></h1>

<ul>
    {% for choice in Gender %}
        <li> {{choice.Gender}} - {{choice.Diseases}} - {{ choice.Number}}</li>
    {% endfor %}
</ul>


<a href="{% url 'poll:template' question.id %}">Vote Again?</a>\\

{% endblock %}

1 Ответ

0 голосов
/ 30 сентября 2018

Ваш шаблон находится в "poll s / result.html", но вы сказали, что это был "poll / result.html".

(Обратите внимание, вы действительно не должныукажите пути URL-адресов, оканчивающиеся на «html», это необязательно и вас смущает. URL-адреса и расположение шаблонов не имеют ничего общего друг с другом.)

...