Jestem naprawdę nowy dla Django, więc wciąż przyzwyczajam się do formularzy. Próbuję wysłać wiadomość e-mail w Django, używając wszystkich oczyszczonych danych z formularza, w tym pliku, który jest przesyłany, i otrzymuję błąd "FieldFile" obiekt nie ma atrybutu "rfind" ". kiedy próbuję dołączyć plik do wiadomości e-mail. Czy to oznacza, że plik musi najpierw zostać przesłany do folderu w moim projekcie, aby ścieżka do pliku miała coś do odniesienia?Obiekt FieldFile 'nie ma atrybutu' rfind '
Oto moja forma
class Application(forms.Form):
first_name = forms.CharField(label="First Name", max_length=50)
last_name = forms.CharField(label="Last Name", max_length=50)
email = forms.EmailField(label="Email", max_length=80)
phone = forms.CharField(label="Phone Number", max_length=30)
resume = forms.FileField(label="Resume", max_length=1000)
message = forms.CharField(label="Message", max_length=800, widget=forms.Textarea)
moim zdaniem
if request.method == "POST":
form = Application(request.POST, request.FILES)
Post = True
if form.is_valid():
cleaned_data = form.cleaned_data
is_valid = True
applicant = Applicant()
applicant.first_name = cleaned_data['first_name']
applicant.last_name = cleaned_data['last_name']
applicant.email = cleaned_data['email']
applicant.phone = cleaned_data['phone']
applicant.resume = request.FILES['resume']
applicant.message = cleaned_data['message']
applicant.job = career.name
date = datetime.datetime.now()
applicant.save()
email_context = {'interested': applicant}
html_content = render_to_string("email/contact/application-html.html", email_context)
email = EmailMessage('Some is interested in a demo with Atlas', html_content, settings.DEFAULT_FROM_EMAIL,
['[email protected]'])
email.attach_file(applicant.resume)
email.send(fail_silently=False)
else:
is_valid = False
else:
form = Application()
Post = False
is_valid = False
ahhh, Rozumiem. Tak, pozbyłem się problemu, doceniam to! – JBT
Dziękuję. Twoja odpowiedź rozwiązała mój problem;) – Deadpool