如果要从ModelForm扩展表单,请使用2974509176157897897728关键字参数。 在这里,我们是通过现有的2974509176174174674944还是通过新的,这取决于我们是在编辑还是添加现有的文章。 在这两种情况下,都在实例上设置了author字段,因此不需要commit=False。 还要注意,我假设只有作者可以编辑他们自己的文章,因此HttpResponseForbidden响应。

from django.http import HttpResponseForbidden

from django.shortcuts import get_object_or_404, redirect, render, reverse

@login_required

def edit(request, id=None, template_name='article_edit_template.html'):

if id:

article = get_object_or_404(Article, pk=id)

if article.author != request.user:

return HttpResponseForbidden()

else:

article = Article(author=request.user)

form = ArticleForm(request.POST or None, instance=article)

if request.POST and form.is_valid():

form.save()

# Save was successful, so redirect to another page

redirect_url = reverse(article_save_success)

return redirect(redirect_url)

return render(request, template_name, {

'form': form

})

在您的edit中:

(r'^article/new/$', views.edit, {}, 'article_new'),

(r'^article/edit/(?P\d+)/$', views.edit, {}, 'article_edit'),

相同的2974509176174674674视图用于添加和编辑,但是只有编辑URL模式将id传递给视图。 为使此表单与您的表单一起使用,您需要从表单中省略author字段:

class ArticleForm(forms.ModelForm):

class Meta:

model = Article

exclude = ('author',)

python表单_python-基于添加表单的Django编辑表单?相关推荐

  1. 1.19.5.4.流上的Join、常规Join、时间区间Join、时态表Join、基于处理时间的时态Join、时态表函数Join、用法

    1.19.5.4.流上的Join 1.19.5.4.1.常规Join 1.19.5.4.2.时间区间Join 1.19.5.4.3.时态表Join 1.19.5.4.4.基于处理时间的时态Join 1 ...

  2. 无线抄表与服务器,基于Modbus协议的远程无线抄表系统的设计与实现

    摘要: 随着人民生活水平的日益提高,智能计量表在日常生活和工作中的使用越来越普及.但是传统人工抄表需要消耗大量的人力和物力,并且抄表人员需亲临现场或恶劣的环境,鉴于安全性和便捷性的考虑,远程智能抄表系 ...

  3. python数据模型搭建_python之路(19)django数据库模型(model)

    前言 object relation mapping(ORM)关系对象映射表,一个类实例映射为一条表记录 目录 数据库配置 1.django 默认使用sqlite的数据库,如果需要使用mysql数据库 ...

  4. python 多表查询_Python基础学习教程—MySQL常见的多表联查

    一. MySQL的多表联查 ================================== 表之间的关系有:1对1 1对多 多对多 1. 嵌套查询:一个查询的结果是另外sql查询的条件: 如:查 ...

  5. python 用户认证_python基于mysql的用户认证

    首先,创建mysql用户users表 1 2 3 4 5 create table users ( id int NOT NULL primary key auto_increment, userna ...

  6. python加密库_python基于pyDes库实现des加密的方法

    本文实例讲述了python基于pyDes库实现des加密的方法.分享给大家供大家参考,具体如下: 下载及简介地址:https://twhiteman.netfirms.com/des.html 如需要 ...

  7. python测试运行快捷键_Python基于unittest实现测试用例执行

    利用python进行测试时,测试用例的加载方式有2种: 一种是通过unittest.main()来启动所需测试的测试模块: 一种是添加到testsuite集合中再加载所有的被测试对象,而testsui ...

  8. 用python计算贷款_Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例...

    本文实例讲述了Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据.分享给大家供大家参考,具体如下: 一.Logistic回归模型: 二.Logistic回归建模步骤 1.根据分析 ...

  9. python背包问题并行_python基于递归解决背包问题详解

    递归是个好东西,任何具有递归性质的问题通过函数递归调用会变得很简单.一个很复杂的问题,几行代码就能搞定. 最简单的递归问题:现有重量为weight的包,有若干重量分别为W1,W2.....Wn的物品, ...

最新文章

  1. postman 以全局变量活用 Token
  2. 成功解决ValueError: could not convert string to float: ‘\\N‘
  3. 【哲学】形而上学具体指什么?metaphysics
  4. python 读取json为list及向json文件追加数据
  5. linux的sendmail服务有啥用,Linux的SendMail服务
  6. linux网线连接树莓派,3、树莓派使用网线连接路由器获取网络的讲解
  7. zb怎么做渲染图_怎样用ZBrush对模型进行渲染(二)
  8. MySQL的select语法
  9. C# 访问 带密码的access数据库
  10. 泛函分析 04.01 有界线性算子 - 有界线性算子与有界线性泛函
  11. 生物信息学中用到的计算机知识,生物信息学期末复习知识点总结
  12. GPS NMEA码详解
  13. lib库知识全面讲解(.lib、.dll)
  14. Burpsuit2.0系列的破解 与jdk 1.80在ubuntu下运行成功.以及代理设置ok,且burp证书导入ok,却不能访问外网的问题.
  15. 分享:如何在线将两个PDF合并成一个
  16. 微表面模型Beckmann–Spizzichino distribution的概率密度函数推导
  17. 整理了100个软硬件都要懂的示波器基础知识
  18. java 获取远程服务器信息,java 远程获取服务器信息
  19. java中奇数魔方,算法-奇数阶魔方
  20. win10下安装Debain Linux子系统

热门文章

  1. 2017.9.1 公路修建问题 思考记录
  2. 【英语学习】【Level 07】U04 Rest and Relaxation L5 An inn by the lake
  3. 【OpenStack】【Keystone】安装与配置详解
  4. python Django之Web框架本质 (2)
  5. Android 开发总结大全
  6. python怎么创建字符串_Python 字符串
  7. 简述osi参考模型各层主要功能_OSI参考模型各层主要功能
  8. nuxt的asyncdata页面刷新params数据丢失_React navigation goBack方法返回刷新
  9. 不同网站不同网卡_弄清高端网站建设的独特不同之处才能做好网站
  10. python telnetlib详解 执行循环命令_Python3+telnetlib实现telnet客户端