Django常见错误总结: 细数我们一起走过的大坑

本文总结了Django初学者易犯的错误,包括模型坑、视图坑、settings.py设置、URL设计和表单处理等,帮助读者理解Django中的反向查询、模型字段设置、多对多关系存储、静态文件配置以及表单验证等关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小编我初学Django的时候跳了不少的坑,曾经一度想放弃。现在想想,幸亏没有哈。坚持学习持续改进才是王道啊,要不然老是中途放弃肯定一事无成。我记忆最为深刻的就是看着官网的入门教程练手,当我在模板里看到for choice in question.choice_set.all时, 心里快崩溃了。Question模型里根本没有choice_set这个字段或方法啊,这是什么鬼。后来得知这是Django进行反向查询的方式。今天小编我来专门总结下Django新手容易犯的常见错误,并教你如何避免choice_set那样的大坑。本文适合初学者,老鸟们请多指教啊。

 

模型坑

请仔细观察下面Django模型,你能找到几处坑呢? Django项目第一步就是写模型,如果你动笔没写5行就包含了一堆错误,相信你一定会先怀疑自己,然后再怀疑人生。

class Person(models.Model):
    name = models.CharField('Name')

class Book(models.Model):
    name = models.TextField('Name', blank = True, null = True)
    author = models.ForeignKey('Person', related_name='author')

答案是4个错误,你发现了吗? 如果你能找到更多错误,请留言。

  • Person模型中的CharField没有指定字符串最大长度max_length。CharField和TextField类似,都是字符串,区别在于CharField必需要设置max_length, 而对TextField而言max_length是可选的。这在数据库层面是有用的,设置最大长度可以

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值