Django 德扬戈';字符串索引必须是整数,而不是unicode';
当我在管理站点中运行此操作(向所选人员发送电子邮件)时,出现错误: 字符串索引必须是整数,而不是unicode django在线:Django 德扬戈';字符串索引必须是整数,而不是unicode';,django,django-admin,Django,Django Admin,当我在管理站点中运行此操作(向所选人员发送电子邮件)时,出现错误: 字符串索引必须是整数,而不是unicode django在线:[p.user\u 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):
[p.user\u 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, 'mymail@gmail.com'
[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)
实际上,你忘记了
后面的逗号了mymail@gmail.com“
,因此它将其解释为”mymail@gmail.com“[p.user\u email]
,就好像您试图为字符串文本编制索引一样。谢谢。这个可以解决它。实际上我有:send_-mail()在[p.user_-email])@user1682273行上正好有3个参数(5个给定):您定义了send_-mail(modeladmin、request、queryset)
,然后从内部调用它。重命名您的send_-mail
,或将core.mail.send_-mail导入为其他名称。此外,如果答案解决了您的问题,您应该将其标记为已接受,并针对新的、不相关的问题打开新问题。这是因为方法定义为:send\u mail(主题、消息、发件人、收件人)
。您有两个参数,message
应该在其中。