首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将django表单写入文本文件

如何将django表单写入文本文件
EN

Stack Overflow用户
提问于 2011-05-20 05:00:00
回答 1查看 2.4K关注 0票数 0

我正在创建一个django站点(使用django表单),允许用户订阅他们的电子邮件。如何将该电子邮件转换为文本文件?目前,我有一个cron作业,它运行python脚本,每天早上向所有订阅者发送一封电子邮件。这是最好的方法吗?或者django-forms中有一些我可以使用的内置功能?

EN

回答 1

Stack Overflow用户

发布于 2011-05-20 05:12:02

如果我没记错的话,您已经将用户的电子邮件地址列表保存到数据库中,并希望将该列表保存到文本文件中?

好的,你可以进入./manage.py shell,输入类似这样的内容:

代码语言:javascript
复制
# 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:

代码语言:javascript
复制
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:

代码语言:javascript
复制
{% for user in object_list %}
   {{ user.email }}
{% endfor %}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6064831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档