A Data Migration for Every Django Project
How to use a South data migration to avoid accidentally sending emails from example.com.
Problem
Consider the following snippet from Django's docs [1] for sending a confirmation email:
from django.core.mail import send_mail
def register_for_newsletter(request):
current_site = Site.objects.get_current()
send_mail(
'Thanks for subscribing to %s alerts' % current_site.name,
'Thanks for your subscription. We appreciate it.\n\n-The %s team.' % current_site.name,
'editor@%s' % current_site.domain,
[user.email]
)Here the domain for the email sender is taken from the 'current site' instance, which is controlled by Django's 'Sites' framework and accessible by a custom method on the manager of the Site model.
By default, a Site instance is created with domain and display name 'example.com' and you have to correct these values. This is often done by hand using the admin suite.
However, as with any manual change, it's easy to forget and you'll often find Django projects sending email from editor@example.com. Highly embarrassing.
Problem
Consider the following snippet from Django's docs [1] for sending a confirmation email:
CODE:
from django.contrib.sites.models import Sitefrom django.core.mail import send_mail
def register_for_newsletter(request):
current_site = Site.objects.get_current()
send_mail(
'Thanks for subscribing to %s alerts' % current_site.name,
'Thanks for your subscription. We appreciate it.\n\n-The %s team.' % current_site.name,
'editor@%s' % current_site.domain,
[user.email]
)Here the domain for the email sender is taken from the 'current site' instance, which is controlled by Django's 'Sites' framework and accessible by a custom method on the manager of the Site model.
By default, a Site instance is created with domain and display name 'example.com' and you have to correct these values. This is often done by hand using the admin suite.
However, as with any manual change, it's easy to forget and you'll often find Django projects sending email from editor@example.com. Highly embarrassing.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/301743/viewspace-733299/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MyEclipse Project Migration功能中文簡單介紹EclipseProject
- 雲資料遷移(Cloud Data Migration,CDM)Cloud
- Django的Project和App的區別DjangoProjectAPP
- JavaScript every()JavaScript
- Django筆記二十之手動編寫migration檔案Django筆記
- Python,Django建立web專案project和應用appPythonDjangoWebProjectAPP
- JS中some、every、map、filterJSFilter
- 博弈論進階之Every-SG
- javascript forEach無法break,使用every代替JavaScript
- Laravel migration 逆向生成工具Laravel
- make:migration 的騷操作
- Row Migration和row chainedAI
- 簡述forEach()、map()、filter()、every()、some()的用法Filter
- 2.3.4 Migration of an Existing ApplicationAPP
- EF Code First Migration總結
- new feature ——>mysql to oracle MigrationMySqlOracle
- Project: OCFSProject
- OA projectProject
- jsp+tomcat+ 建立project 配置projectJSTomcatProject
- 簡述forEach()、map()、every()、some()和filter()的用法Filter
- Entity Framework Code-First(20):MigrationFramework
- MySQL Migration Toolkit Java JRE errorMySqlJavaError
- Oracle Migration Workbench - Part Two(轉載)Oracle
- 歡迎參與討論POP(Project Oriented Project)Project
- Prettier your projectProject
- sbt建立projectProject
- GALAXY: tcp connection live migration with CRIUTCP
- IBM WebSphere Application Server Migration ToolkitIBMWebAPPServer
- 陣列的forEach,map,filter,reduce,reduceRight,every,some方法陣列Filter
- Sekai Project的世界AIProject
- Code Project精彩分享Project
- Wireless Communication ProjectProject
- Pair_Work ProjectAIProject
- Code Project精彩系列Project
- Laravel migration (資料庫遷移) 的使用Laravel資料庫
- Entity Framework Code-First(21):Automated MigrationFramework
- Django(2) - Django模板Django
- Migration Of An Oracle Database Across OS Platforms [ID 733205.1]OracleDatabaseROSPlatform