2012-09-25 83 views
0

當我運行在管理網站上的這個動作(發送電子郵件給選定的人),我有錯誤:Django。 「字符串索引必須是整數,不是Unicode」

字符串索引必須是整數,沒有統一的Django上線:[p.user_email])

如何解決?

from django.contrib import admin 
from myproject.myapp.models import People 
from django.core.mail import send_mail 

def send_mail(modeladmin, request, queryset): 
    for p in queryset: 
     send_mail('People information', p.name, p.time, '[email protected]' 
    [p.user_email]) 
send_mail.short_description = u'Send e-mail to selected people' 

class PeopleAdmin(admin.ModelAdmin): 
    list_display = ('name', 'user_email','time') 
    actions = [send_mail] 

admin.site.register(People, PeopleAdmin) 
+0

發佈堆棧跟蹤。 –

回答

0

其實,你忘了逗號'[email protected]'之後,所以它的將其解釋爲'[email protected]'[p.user_email],因爲如果你想索引的字符串文字。

+0

謝謝。這解決了它。其實我有:send_mail()在線[p.user_email]只需要3個參數(5給出)) – user1682273

+0

@ user1682273:你已經定義了'send_mail(modeladmin,request,queryset)',然後從內部調用它。重命名你的'send_mail',或者將core.mail.send_mail導入爲其他名稱。此外,如果解決了您的問題,您應該將答案標記爲已接受,併爲新的無關問題開出新問題。 – dokkaebi

+0

這是因爲方法定義爲:'send_mail(subject,message,from_email,recipients)'。 「消息」應該是兩個參數。 –

相關問題