嘿伙计们我是Django的新手并且陷入了一些幼稚的错误。 制作了一个项目名称" singup"并添加了一个" smart_unicode实用程序"在我的模型中但不幸的是,在我的管理网站中我没有看到任何更改。我想将每个存储的注册称为电子邮件。需要帮助 这是我的models.py文件:
from django.db import models
from django.utils.encoding import smart_unicode
# Create your models here.
class signup(models.Model):
first_name=models.CharField(max_length=12,null=False,blank=False)
last_name=models.CharField(max_length=12,null=False,blank=False)
email=models.EmailField(max_length=60,null=False,blank=False)
timestamp=models.DateTimeField(auto_now_add=True,auto_now=False)
updated=models.DateTimeField(auto_now_add=False,auto_now=True)
def __unicode__(self):
return smart_unicode(self.email)
这是我的admin.py
from django.contrib import admin
# Register your models here.
from models import signup
class signupAdmin(admin.ModelAdmin):
class Meta:
model=signup
admin.site.register(signup,signupAdmin)
这是我的管理站点图片。
答案 0 :(得分:1)
方法的名称应为__unicode__
。有双下划线,而不是单个。
def __unicode__(self):
return smart_unicode(self.email)
for python 2
def __str__(self):
return smart_unicode(self.email)
所以完整的代码应该是
class signup(models.Model):
first_name=models.CharField(max_length=12,null=False,blank=False)
last_name=models.CharField(max_length=12,null=False,blank=False)
email=models.EmailField(max_length=60,null=False,blank=False)
timestamp=models.DateTimeField(auto_now_add=True,auto_now=False)
updated=models.DateTimeField(auto_now_add=False,auto_now=True)
def __str__(self):
return smart_unicode(self.email)
答案 1 :(得分:0)
我遇到同样的问题然后我意识到我的最后一个块的缩进是不正确的。
只要看看你粘贴在这里的代码就会显示相同的内容,只需给“def unicode (自我):”一个标签或4个空格,并且不要改变任何东西,因为它会起作用我是当然:它起作用了我
它应该在课堂上然后才能正常工作:
from django.db import models
from django.utils.encoding import smart_unicode
# Create your models here.
class signup(models.Model):
first_name=models.CharField(max_length=12,null=False,blank=False)
last_name=models.CharField(max_length=12,null=False,blank=False)
email=models.EmailField(max_length=60,null=False,blank=False)
timestamp=models.DateTimeField(auto_now_add=True,auto_now=False)
updated=models.DateTimeField(auto_now_add=False,auto_now=True)
def __unicode__(self):
return smart_unicode(self.email)
因为此方法def“ unicode ”属于类注册,并且当您将“def unicode ”置于零缩进块时,它将失去与注册类的关系并变为和独立的方法,因此从admin部分返回类作为对象调用此注册类。但是当你在第一个缩进级别的类注册的屋顶下放置“def unicode ”方法时。它属于注册并返回 unicode ,字符为电子邮件。
答案 2 :(得分:0)
这是针对2.7以上的python的解决方案
.MODEL SMALL
.STACK 100H
.DATA
MAIN PROC
MOV BL,65
MOV CL,26
PRINT:
MOV AH,2
MOV DL,BL
INC BL
DEC CL
INT 21H
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H
JNZ PRINT
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN