文档章节

Pycharm上Django的使用 Day8

不会TC的猫
 不会TC的猫
发布于 11/20 21:04
字数 628
阅读 6
收藏 1

1.添加新条目

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

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

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

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

2>定义new_entry的URL模式

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

3>编写视图函数

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

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

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

5>链接到页面new_entry

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

6>运行manage.py

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

点击add new entry

点击add entry

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

 

© 著作权归作者所有

共有 人打赏支持
不会TC的猫
粉丝 3
博文 14
码字总数 9275
作品 0
西安
程序员
私信 提问
PyCharm 2017.3 RC 发布,包含部分重要的改进

PyCharm 2017.3 的 EAP 系列已发布完毕,现在轮到 PyCharm 2017.3 RC 发布了。该版本包含以下改进: 创建 Django 项目不会再导致出现 NullPointerException (仅在 PyCharm 专业版中支持 Djan...

局长
2017/11/24
1K
2
PyCharm 4.0.2 发布,Python 集成开发环境

PyCharm 4.0.2 发布,此版本现已提供下载,很快也会作为 IDE 分支更新 (from PyCharm 4.x only)。 PyCharm 4.0.2 最值得关注的是:集成调试器和 Django 测试运行器的 bug 修复;VCS 支持方面...

oschina
2014/12/10
3.5K
6
PyCharm配置django环境

PyCharm 作为一个python IDE,用的人非常多,接下来我简要的讲一下 PyCharm配置django环境 (pycharm4.0.5): 创建一个django项目 运行这个django环境,这时PyCharm会报错,提示缺少子命令 ...

苦咖啡sa
2015/04/07
0
0
PyCharm 4.0.5 RC2 发布,Python 集成开发环境

PyCharm 4.0.5 RC2 build 139.1525 发布,现已提供下载。此版本只是修复了两个 bug:当使用 Behave 时弃用警告;PyCharm 调试器的 bug 修复。更多改进内容请看发行说明。 Develop with pleas...

oschina
2015/03/06
839
3
Python编程利器-Pycharm

PyCharm是由JetBrains打造的一款Python IDE。我们知道,VS2010的重构插件Resharper就是出自JetBrains之手。那么,PyCharm有什么吸引人的特点呢? 首先,PyCharm用于一般IDE具备的功能,比如,...

Start-up
2012/06/15
0
1

没有更多内容

加载失败,请刷新页面

加载更多

Android :报错Your project path contains non-ASCII characters.

报错内容如下 Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See ht......

lanyu96
1分钟前
0
0
[LintCode] Number of Islands(岛屿个数)

描述 给一个01矩阵,求不同的岛屿的个数。 0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。 样例 在矩阵: [ [1, 1, 0, 0, 0], [0, 1, 0, 0, ...

honeymose
2分钟前
0
0
Nginx平滑添加模块

Nginx已经编译安装并运行了一段时间, 然后某一天, 发现需要用到某个模块但当初没有编译, 这个时候怎么办呢? 卸载重新安装肯定可以的, 如果Nginx版本没有变更的话, 则有一个相对平滑的方法来添...

老菜鸟0217
7分钟前
0
0
spark安装测试

spark安装测试 由于本地已经安装好hadoop相关组件,所以本文是在yarn的基础上对spark进行安装及测试 确保hdfs及yarn成功启动,hadoop版本为2.7.3 安装scala,由于本人安装的spark是2.4.0,对应...

-九天-
20分钟前
2
0
周末看完了《电能计量自动化技术》

整体质量还行,下面分别将心得记录如下: 第一章:发展历程可以看看,现在算是智能电网阶段 2:讲主站系统。以文件进行各模块的交互很值得思考,尤其是批量数据,多团队合作的情况下。另外线...

max佩恩
40分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部