我正在寫一個django應用程序,用於跟蹤哪些電子郵件地址可以將內容發佈到用戶的帳戶。用戶可以按照他們的喜好將地址列入白名單和黑名單。python/django中的電子郵件白名單/黑名單
任何未指定的地址都可以根據消息進行處理,或者只是默認爲白名單或黑名單(又是用戶指定的)。
這裏是我寫的django模型...你認爲是一個好辦法嗎?還是應該爲每個用戶的個人資料模型添加白名單和黑名單字段?
class knownEmail(models.Model):
# The user who set this address' permission, NOT
# the user who the address belongs to...
relatedUser = models.ManyToManyField(User)
email = models.EmailField()
class whiteList(knownEmail):
pass
class blackList(knownEmail):
pass
然後,我可以做這樣的事情:
def checkPermission(user, emailAddress):
"Check if 'emailAddress' is allowed to post content to 'user's profile"
if whiteList.objects.filter(relatedUser=user, email=emailAddress):
return True
elif blackList.objects.filter(relatedUser=user, email=emailAddress):
return False
else:
return None
有沒有更好的辦法?
謝謝,我認爲你的第二類方法應該是is_on_blacklist儘管;) – Jiaaro 2009-04-14 12:41:15