【问题标题】:Django: I cant create a model, I got this error:[pylint] E0001:invalid syntax (<string>, line 8) [closed]Django:我无法创建模型,出现此错误:[pylint] E0001:invalid syntax (<string>, line 8) [关闭]
【发布时间】:2018-07-04 04:20:58
【问题描述】:

文件:models.py

from __future__ import unicode_literals
from django.db import models

class Register(models.Model):
    name =models.Charfield(max_length = 100,blank=True,null=True)
    email =models.EmailField()
    timestamp = models.DateTimeField(auto_now_add=True,auto_now=False)

    def__unicode__(self):
        return self.mail

    def__str__(self): 
        return self.mail

详情:

  • 错误:[pylint] E0001:invalid syntax (, line 8) in word: class
  • 我尝试执行命令行: python manage.py makemigrations
  • 消息是:未检测到更改。
  • 我使用 python 3.7,sqllite,Django 2.0.1

【问题讨论】:

  • 检查你的缩进(也许你的缩进被混合空格和制表符弄乱了,尝试将整个缩进转换为制表符/空格)并删除任何语法错误(在你的情况下,你错过了一个冒号)。 .
  • @zaidfazil 请不要以删除 OP 询问的语法错误的方式编辑问题。
  • 很抱歉。以为这只是一个错字。

标签: django python-3.x django-models python-3.5


【解决方案1】:

def 后面缺少空格。

def __unicode__(self):
    return self.mail

def __str__(self): 
    return self.mail

注意,您根本不应该定义 __unicode__,它在 Python 3 中没有使用。

【讨论】:

  • 是的,没关系..谢谢我有很多错误,因为改变了我的编辑器:)
猜你喜欢
  • 2019-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-07
  • 2016-10-24
  • 1970-01-01
  • 1970-01-01
  • 2015-06-10
相关资源
最近更新 更多