Я пытаюсь показать график рассеяния, созданный plotly на plots.py, и показать в html на simulator.html.Проблема в том, что когда я запускаю сервер со следующими кодами, он показывает основную ошибку при доступе к http://127.0.0.1:8000/simulator/, как показано ниже.Как вы можете видеть на settings.py, я считаю, что все необходимые настройки должны быть выполнены.Не могли бы вы, ребята, выяснить, в чем причина этой ошибки и как ее исправить, пожалуйста?
Сообщение об ошибке:
TemplateDoesNotExist at /simulator/
simulator.html
Request Method: GET
Request URL: http://127.0.0.1:8000/simulator/
Django Version: 2.2.4
Exception Type: TemplateDoesNotExist
Exception Value:
simulator.html
Exception Location: /Users/user/.pyenv/versions/3.7.3/lib/python3.7/site-packages/django/template/loader.py in select_template, line 47
Python Executable: /Users/user/.pyenv/versions/3.7.3/bin/python3
Python Version: 3.7.3
Python Path:
['/Users/user/Desktop/Django/price_simulator',
'/Users/user/.pyenv/versions/3.7.3/lib/python37.zip',
'/Users/user/.pyenv/versions/3.7.3/lib/python3.7',
'/Users/user/.pyenv/versions/3.7.3/lib/python3.7/lib-dynload',
'/Users/user/.pyenv/versions/3.7.3/lib/python3.7/site-packages',
'/Users/user/.pyenv/versions/3.7.3/lib/python3.7/site-packages/IPython/extensions']
Server time: Tue, 24 Sep 2019 11:14:59 +0000
симулятор.html
{% extends 'base.html' %}
{% block customcss %}
{% endblock customcss %}
{% block header %}
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
</div>
{% endblock header %}
<div class="card" style="width: 100%;margin-top: 15px">
<div class="card-body">
<h5 class="card-title">title</h5>
{{ scatter|safe }}
</div>
</div>
Извлечение settings.py:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'simulatorapp'
]
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR, 'templates'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
url.py в папке приложения:
from django.shortcuts import render
from django.http.response import HttpResponse
from django.contrib.auth.models import User
from django.contrib.auth import authenticate, login
from django.shortcuts import redirect
import pandas as pd
from django.views.generic import TemplateView
from . import plots
class ScatterView(TemplateView):
template_name='simulator.html'
def get_context_data(self, **kwargs):
context = super(ScatterView, self).get_context_data(**kwargs)
context['scatter'] = plots.get_scatter()
return context
views.py:
from django.urls import path
from .views import signupfunc, loginfunc
from django.conf import settings
from django.conf.urls.static import static
from .views import ScatterView
urlpatterns = [
path('signup/', signupfunc, name='signup'),
path('login/', loginfunc, name='login'),
path('simulator/', ScatterView.as_view(), name='simulator'),
]