Board 模型中的 topics 属性,topics 属性由 Django 使用反向关系自动创建。
board = board,设置了 Topic 模型中的 board 字段,ForeignKey(Board),Board 实例与关联的 Topic 实例。
使用 Django 模板语言,在 HTML 模板文件,不使用括号。
board.topics 是一个 Related Manager,它与 Model Manager 很类似。
表单 forms,表单 API,Forms(表单)用来处理输入。
一个与 Topic model 相关联的 ModelForm
Meta 类里面 fields 列表中的 subject 引用 Topic 类中的 subject field 字段。
定义了一个叫做 message 的额外字段,它是用来引用 Post 中要保存的 message。
view 视图中处理 form 表单
先判断请求是 POST 还是 GET,如果是 POST,意味着用户向服务器提交了一些数据。
实例化一个将 POST 数据传递给 form 的 form 实例
使用 form.save() 将数据存入数据库,save() 方法返回一个存入数据库的 Model 实例。
Django 内置的视图装饰器
如果用户没有登录,将被重定向到登录页。注意查询字符串 ?next=/boards/1/new/,改进登录模板以便利用 next 变量来改进用户体验。
配置登录后的重定向地址
next 参数是内置功能的一部分。
在视图函数 reply_topic 中,使用 topic_pk 引用的是函数的关键字参数。
领取专属 10元无门槛券
私享最新 技术干货