【发布时间】:2019-01-05 22:05:32
【问题描述】:
我正在制作一个电子邮件传递 WebApp,我有一个带有 uploadcsvfile 的 Email 类,用于将 .csv 联系人文件从用户的计算机上传到服务器位置CONTACT_DIR,我想不通的是如何在我的views.py 中获取保存的contacts_some_char.csv 名称,获取它的名称的目的是让我可以解析电子邮件列表并向他们发送电子邮件。
我的model.py 如下:
class Email(models.Model):
fromemail = models.EmailField(blank = False, max_length = 254)
uploadcsvfile = models.FileField(upload_to = 'Contacts', blank = False)
subject = models.CharField(blank=False,max_length = 254)
bodyHeading = models.CharField(blank = False,max_length = 254)
bodytext = models.TextField(blank = False)
name = models.CharField(blank = False,max_length = 254)
这是我的views.py:
def index(request):
if request.method == 'POST':
email_form = EmailForm(request.POST, request.FILES)
if email_form.is_valid():
email_form.save(commit = True)
print(Email.uploadcsvfile)
contacts = Contacts()
#path = settings.CONTACT_DIR
f = open(settings.CONTACT_DIR+"/"+str(uploaded_file_name))
csv_f = csv.reader(f)
Emails = []
Names= []
L_Names = []
for x in csv_f:
Emails.append(x[0])
Names.append(x[1])
L_Names.append(x[2])
f.close()
contacts.ListOfEmails = json.dumps(Emails)
contacts.ListOfFirstNames = json.dumps(Names)
contacts.ListOfLastNames = json.dumps(L_Names)
contacts.save()
这里是forms.py :
from django import forms
from dcsvreader.models import Email
class EmailForm(forms.ModelForm):
class Meta():
model = Email
fields = "__all__"
AKA 我如何在views.py 中获得 uploaded_file_name,我在 SO 的各种 QnA 中看到这与 FileDescriptor 有关 但也找不到确切的原因,print(Email.uploadcsvfile) 将 <django.db.models.fields.files.FileDescriptor object at 0x03F7DF90> 作为输出。
【问题讨论】:
标签: python django web django-models django-views