django常见错误

1.报错:
Could not parse the remainder: ' or ''' from 'next or '''

原因: 一般是template即HTML代码中出了错,例如我的,如图:
这里写图片描述
这份原本是我flask的前端代码,我复制来django的忘了修改,django不支持在{{}}中出现单引号。

解决办法:对应删除或修改

2.报错:
_wrapped_view() takes at least 1 argument (0 given)
原因:
1). 可能是你的model与views函数重名了;
2). 缺少必要参数,可以试执行命令行抛出的错误找到缺少的参数,如request;
解决办法:从model和view的名字和参数下手。

3.报错:u"Unknown column 'myblog_articlemodel.article_id' in 'where clause'"
原因:字段发生了变化。
解决:执行python manage.py makemigrations

4.报错:Provide a one-off default now (will be set on all existing rows with a null
原因:有字段属性发生变化,增加了非空字段。
解决:最干脆就是将migrations下除init.py的所有文件删除,重新生成

5.报错:django.db.utils.InternalError: (1049, u"Unknown database 'myblog'")
原因:有的时候如果你在删除了这个数据库后,再执行migrate就不管用了,就会报这个错。
解决:自己在MySQL手动创建一个该数据库。
命令:create database db_name character set utf8; ,其中db_name为数据库名。

6.报错:(1054, u"Unknown column 'myblog_articlemodel.article_id' in 'where clause'")
原因:该字段不存在,这个错误大多出现在id字段上。
解决:
1. 参考:https://stackoverflow.com/questions/11247422/error-1054-unknown-column-student-info-id-in-field-list-django这个链接时,我看到说需要手动在数据库中创建一个id键。但这个链接还没来得及试验。因为第2种方法:
2. 因为我已经将数据库删了,重新手动建了一个数据库(参考错误5)。

我碰到的原因是:该字段我用了uuid,代码如下:
article_id = models.UUIDField(primary_key=True,default=uuid.uuid4)

执行migrate之后在migrations文件中也的确生成了这个键,然而在MySQL中查询的时候发现这个键的键名竟然是uid。起初我以为这个键比较特别,只能取这个,因为我参考的大多资料用的也是这个,但是后来参考到以上链接,觉得不对。于是就用了方法二。

posted @ 2018-08-20 09:17  苏酒酒  阅读(45)  评论(0编辑  收藏  举报