2019独角兽企业重金招聘Python工程师标准>>>

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,上图红圈就是哈

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

Pycharm上Django的使用 Day8相关推荐

  1. 《微信小程序-证件照换底色》之二:用pycharm搭建django框架来接收微信小程序上传的图片

    用pycharm搭建django框架来接收微信小程序的图片 上一篇:微信云开发实现每个用户在云端上传并且下载自己对应的图片 链接: https://blog.csdn.net/qq_44933075/ ...

  2. PyCharm配置django环境

    2019独角兽企业重金招聘Python工程师标准>>> PyCharm 作为一个python IDE,用的人非常多,接下来我简要的讲一下 PyCharm配置django环境 (pyc ...

  3. pycharm创建django项目及开发初准备

    文章目录 前言 一.使用pycharm创建django项目 二.初步设置 对文件进行简单说明 设置 app的介绍和创建及设置 app的创建 第一种方式 第二种方式(本质上还是命令,但是更加智能) ap ...

  4. 基于Pycharm的Django学习 —— 项目实战(Form和ModelForm)

    项目实战 项目开发流程 项目准备工作 项目部门管理 UI设计 depart_list 模板继承 depart_add depart_delete depart_edit 项目用户管理 user_lis ...

  5. 社区版pycharm搭建django项目

    社区版pycharm搭建django项目 社区版的pycharm跟专业版的pycharm应用差别还是不太大,但是对于我们这些白嫖党来说,创建django项目就显得比较繁琐了,好了废话不多说上过程 使用 ...

  6. (二)pycharm上创建虚拟环境--virtualenv

    pycharm上创建虚拟环境--virtualenv 为了 使得各个项目环境不冲突,可以在pycharm上创建虚拟环境,保障项目独立,不受影响 1.创建虚拟环境 2. 3.点击确定 4.可以选择 5. ...

  7. 【pycharm】pycharm上安装tensorflow,报错:AttributeError: module ‘pip‘ has no attribute ‘main‘ 解决方法

    [pycharm]pycharm上安装tensorflow,报错:AttributeError: module 'pip' has no attribute 'main' 解决方法 参考文章: (1) ...

  8. python怎么升级django_线上Django项目python2到3升级日记

    这两天干了一个几斤疯狂的事情,花不到一个工作日的时间把一个线上Django项目语言版本从python2升级到Python3 1.字典的一个语法变化 Python2.7: if dict1.haskey ...

  9. 使用跳板机在Pycharm上配置内网服务器

    使用跳板机在Pycharm 上使用内网服务器环境 ​ 最近遇到一个问题:实验室服务器仅限内网访问,无法在家(外网)访问实验室的所有内部服务器,但同时实验室又提供了一个外网可以访问的跳板机,虽然可以先s ...

最新文章

  1. PCB工艺的一些小原则
  2. 五十八种网络故障及其解决办法
  3. Java导出Excel或word jsp页面直接转的方式
  4. 【算法】算法岗需要顶会才能入场?
  5. 休眠调试–查找查询的来源
  6. pandas绘图_pandas与seaborn可视化对比小案例
  7. ffmpeg拉流设置暂停_ffmpeg+SDL2实现的视频播放器「退出、暂停、播放」
  8. 2018大华软件大赛模拟赛第4题 (某股票操盘手账户里有N支股票,股价互不等)
  9. 百度硬盘搜索结盟IBM,Lotus邮件也能搜索
  10. bat脚本学习——拖拽文件到bat下载
  11. 2021年深圳房地产行业发展回顾及2022年展望:新房住宅共成交套数、面积创6年来新高,预计2022年成交量会进一步上升[图]
  12. osgEarth测高程方法
  13. 机器视觉入门资料大全,工业机器人“眼睛”
  14. 什么是PCB走线的3W原则
  15. 数组Array.slice()方法应用与底层原理剖析
  16. 算法产品化---在ArmNN上运行ONNX
  17. 嵌入式工程师“中年危机”应对策略上
  18. 订阅号消息 服务号 信息推送
  19. 检测到不兼容的键盘驱动程序的解决
  20. 导数 与 偏导数的推导

热门文章

  1. Java 从网络上下载文件
  2. Java线程之多线程与多进程(1)——以操作系统的角度述说线程与进程
  3. 源码群友问:你这么多项目是怎么进行技术选型的?
  4. 整整4个月了,尽全力组织了源码共读活动~
  5. 听说现在都考这些React面试题
  6. requests模块发送带headers的Get请求和带参数的请求
  7. Spring4.3x教程之一IOCDI
  8. Spark List组件滚动条加事件使datalist数据发生变化
  9. 《VMware Virtual SAN权威指南(原书第2版)》一1.5 什么是Virtual SAN
  10. Delphi中字符串比较大小 VS Oracle-SQL中字符串比较大小