我正在使用django-simple-captcha,它在本地工作正常。它是在頁面給出了一個500錯誤一旦部署到Heroku的(唯一的日誌輸出我得到的是(2017-02-11T13:26:07.367450+00:00 heroku[router]: at=info method=GET path="/contact/" host=fathomless-harbor-1234.herokuapp.com request_id=37555c3c-c468-40cb-a142-c7dd04519e2c fwd="73.163.191.194" dyno=web.1 connect=1ms service=83ms status=500 bytes=386
)。django-simple-captcha破解heroku部署
我跑了,並有三個失敗的測試,所有這些有File "/Users/pmn/.virtualenvs/within/lib/python2.7/site-packages/django/template/loader.py", line 43, in get_template raise TemplateDoesNotExist(template_name, chain=chain) TemplateDoesNotExist: captcha_test/image.html
我在Django的1.9.6和Django的簡單驗證碼0.5.3
forms.py
from django import forms
from django.template.loader import get_template
from django.core.mail import EmailMultiAlternatives
from captcha.fields import CaptchaField
class ContactForm(forms.Form):
contact_name = forms.CharField()
contact_email = forms.EmailField()
contact_phone = forms.CharField()
content = forms.CharField(widget=forms.Textarea)
cc_me = forms.BooleanField(required=False, initial=False)
captcha = CaptchaField(required=True)
def send_email(self):
contact_name = self.data["contact_name"]
contact_phone = self.data["contact_phone"]
contact_email = self.data["contact_email"]
content = self.data["content"]
template = get_template("contact.txt")
context = {
"contact_name": contact_name,
"contact_phone": contact_phone,
"contact_email": contact_email,
"content": content,
}
content = template.render(context)
subject, from_email, to = "Inquiry", contact_email, "[email protected]"
cc_address = contact_email if "cc_me" in self.data else None
email = EmailMultiAlternatives(
subject,
content,
from_email,
["[email protected]"],
cc=[cc_address],
headers={"Reply-To": contact_email}
)
email.send()
def __init__(self, *args, **kwargs):
super(ContactForm, self).__init__(*args, **kwargs)
for field in self.fields:
self.fields[field].widget.attrs['class'] = 'form-control'
(請注意,如果我註釋掉兩個驗證碼線,在部署頁面加載)
注意,如果有更詳細的日誌可用,請將它們指出來,我將不勝感激。 – thumbtackthief
你有沒有對'settings.py'本地進行任何未提交的更改?或者你在Heroku上使用不同的設置?這聽起來像應用程序可能不在你的'INSTALLED_APPS'中。 – Chris
不,它絕對在'INSTALLED_APPS'中。我應該澄清,雖然它在本地工作,但在本地運行測試套件會導致三次失敗的測試,所有測試都會出現上述錯誤。雖然本地似乎沒有影響任何東西。 – thumbtackthief