Pycharm上Django的使用 Day8

本文详细介绍了如何在Django项目中添加新条目,包括创建条目表单、定义URL模式、编写视图函数、编写模板、链接到新条目页面及运行测试。通过逐步操作,读者可以掌握在特定主题下添加新条目的完整流程。

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

1.添加新条目

1>编写用于添加新条目的表单

在forms.py中创建一个与模型Entry相关联的表单

4fdec0df617cbc7f8a1371749a9e58f83c2.jpg

1处给字段'text'指定一个空标签

2处定义小部件widgets,widgets是一个HTML表单元素

2>定义new_entry的URL模式

135f753cc878b7debe18921607097c02855.jpg

在用于添加新条目的页面的URL模式中,需要包含实参topic_id,因为条目必须与特定主题相关联。请求的URL与这个模式匹配时,Django将请求和主题ID发送给函数new_entry()

3>编写视图函数

b9fa54cdce031c47ed4580e61ef2973d96e.jpg

1处表示使用形参topic_id来获得正确的主题

2,3处都与上一节编写的new_topic一样的

4处表示如果请求方法是POST,我们就对数据进行处理:创建一个EntryForm实例,使用request对象中的POST数据来填充它

5处调用save()时,我们传递了实参commit = False,目的是让Django创建一个新的条目对象,并将其存储到new_entry中,但不将它保存到数据库中

6处表示我们将new_entry的属性topic设置为在这个函数开头从数据库中获取的主题,然后调用save(),这将把条目保存到数据库,并将其与正确的主题相关联

7处表示调用HttpResponseRedirect()将用户重定向到显示新增条目所属主题的页面,用户将在该页面的条目列表中看到新添加的条目

4>编写模板new_entry.html

da2e337dc39e6b136bceb5f02a7a227717a.jpg

1处表示添加一个链接,让用户知道他是在哪个主题中添加条目

2处表单实参action包含URL中的topic_id值,让视图函数能够将新条目关联到正确的主图,实参method让浏览器以POST方式提交数据

5>链接到页面new_entry

我们需要在显示特定主题的页面中添加到页面new_entry的链接

c18db03d7f958b81da982b7f315d0373061.jpg

6>运行manage.py

40564924f15ff5d61cfef4bb922fe7149de.jpg

点击Topics下面的任一一个主题,比如Dota2吧

089eb8792ba846cf0a0da644b61525c57ff.jpg

点击add new entry

d2b5f29837706053117da4c0798f2c10cfa.jpg

点击add entry

17ec21f3913e872c694d1f93cdc391a942c.jpg

网页跳转到Dota2的entries下,并列出新添加的entry,上图红圈就是哈

 

转载于:https://my.oschina.net/u/4011629/blog/2879016

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值