我正在创建一个django站点(使用django表单),允许用户订阅他们的电子邮件。如何将该电子邮件转换为文本文件?目前,我有一个cron作业,它运行python脚本,每天早上向所有订阅者发送一封电子邮件。这是最好的方法吗?或者django-forms中有一些我可以使用的内置功能?
发布于 2011-05-20 05:12:02
如果我没记错的话,您已经将用户的电子邮件地址列表保存到数据库中,并希望将该列表保存到文本文件中?
好的,你可以进入./manage.py shell,输入类似这样的内容:
# I assumed the email addresses are in User.email; modify as needed to conform to your model.
with open('email.txt','w') as f:
for u in User.objects.all():
f.write(u.email + '\n')您还可以编写一个管理命令来执行此操作:http://docs.djangoproject.com/en/dev/howto/custom-management-commands/
或者创建一个简单的视图&模板,创建一个文本文件,在列表中列出您的所有电子邮件地址。不过,为了不让您的用户收到垃圾邮件,请保护此密码,并且不要公开访问此密码。一些简单的东西,比如(不是私有的)应该可以工作:
urls.py:
from django.views.generic.list_detail import object_list
urlpatterns = patterns('',
(r'^full_emails/$', 'object_list', {'template': 'template/text.txt', 'queryset'=User.objects.all()}
)template/text.txt:
{% for user in object_list %}
{{ user.email }}
{% endfor %}https://stackoverflow.com/questions/6064831
复制相似问题