Привет всем. Передаю через темплейттег форму обратной связи, возникает ошибка. Подскажите пожалуйста в чем причина.
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 1.8.3
Python Version: 2.7.6
Installed Applications:
('grappelli',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'sitepylabs',
'blog')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware')
Template Loader Error:
Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
/home/artem/Development/newforexp/templates/sitepylabs/home.html (File does not exist)
Using loader django.template.loaders.app_directories.Loader:
/home/artem/Development/newforexp/newforexp-env/local/lib/python2.7 /site- packages/grappelli/templates/sitepylabs/home.html (File does not exist)
/home/artem/Development/newforexp/newforexp-env/local/lib/python2.7/site- packages/django/contrib/admin/templates/sitepylabs/home.html (File does not exist)
/home/artem/Development/newforexp/newforexp-env/local/lib/python2.7/site-packages/django/contrib/auth/templates/sitepylabs/home.html (File does not exist)
/home/artem/Development/newforexp/sitepylabs/templates/sitepylabs/home.html (File exists)
/home/artem/Development/newforexp/blog/templates/sitepylabs/home.html (File does not exist)
Traceback:
File "/home/artem/Development/newforexp/newforexp-env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
132. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/artem/Development/newforexp/sitepylabs/views.py" in home
25. return render(request, 'sitepylabs/home.html', context, request.FILES)
File "/home/artem/Development/newforexp/newforexp-env/local/lib/python2.7/site-packages/django/shortcuts.py" in render
89. using=using)
File "/home/artem/Development/newforexp/newforexp-env/local/lib/python2.7/site-packages/django/template/loader.py" in render_to_string
138. raise TemplateDoesNotExist(template_name)
Exception Type: TemplateDoesNotExist at /
Exception Value: sitepylabs/home.html
views.py
# -*- coding: utf-8 -*-
from sitepylabs.models import Slider, Services, Work, Team, Client, Category
from django.shortcuts import redirect, render
from django.core.mail import mail_admins
from forms import ContactForm
from django.conf import settings
import time
def home(request):
sliders = Slider.objects.all()
services = Services.objects.all()
work = Work.objects.all()
team = Team.objects.all()
client = Client.objects.all()
category = Category.objects.all()
context = {
'sliders': sliders,
'services': services,
'work': work,
'team': team,
'client': client,
'category': category
}
return render(request, 'sitepylabs/home.html', context, request.FILES)
def contact_form(request):
if request.POST:
form = ContactForm(request.POST)
if form.is_valid():
message = "From: %s <%s>\r\nSubject:%s\r\nMessage:\r\n%s\r\n" % (
form.cleaned_data['name'],
form.cleaned_data['email'],
form.cleaned_data['subject'],
form.cleaned_data['message']
)
mail_admins('Contact form', message, fail_silently=False)
if request.is_ajax():
if getattr(settings, 'DEBUG', False):
import time
time.sleep(5)
return render(request, 'sitepylabs/success.html', {'form':form})
else:
return redirect('contact_success')
else:
form = ContactForm()
return render(request, 'contact/form.html', {'form':form})
form.html
from django import forms
class ContactForm(forms.Form):
name = forms.CharField(max_length=250)
email = forms.EmailField(max_length=250)
subject = forms.CharField(max_length=250)
message = forms.CharField(widget=forms.Textarea(), max_length=500)
feedbacktags.py
from django import template
from sitepylabs.forms import ContactForm
register = template.Library()
@register.inclusion_tag('sitepylabs/form.html', takes_context=True)
def showfeedback(context):
form = ContactForm()
return {"form": form}