python表单_python-基于添加表单的Django编辑表单?
如果要从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.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 ...
- 无线抄表与服务器,基于Modbus协议的远程无线抄表系统的设计与实现
摘要: 随着人民生活水平的日益提高,智能计量表在日常生活和工作中的使用越来越普及.但是传统人工抄表需要消耗大量的人力和物力,并且抄表人员需亲临现场或恶劣的环境,鉴于安全性和便捷性的考虑,远程智能抄表系 ...
- python数据模型搭建_python之路(19)django数据库模型(model)
前言 object relation mapping(ORM)关系对象映射表,一个类实例映射为一条表记录 目录 数据库配置 1.django 默认使用sqlite的数据库,如果需要使用mysql数据库 ...
- python 多表查询_Python基础学习教程—MySQL常见的多表联查
一. MySQL的多表联查 ================================== 表之间的关系有:1对1 1对多 多对多 1. 嵌套查询:一个查询的结果是另外sql查询的条件: 如:查 ...
- python 用户认证_python基于mysql的用户认证
首先,创建mysql用户users表 1 2 3 4 5 create table users ( id int NOT NULL primary key auto_increment, userna ...
- python加密库_python基于pyDes库实现des加密的方法
本文实例讲述了python基于pyDes库实现des加密的方法.分享给大家供大家参考,具体如下: 下载及简介地址:https://twhiteman.netfirms.com/des.html 如需要 ...
- python测试运行快捷键_Python基于unittest实现测试用例执行
利用python进行测试时,测试用例的加载方式有2种: 一种是通过unittest.main()来启动所需测试的测试模块: 一种是添加到testsuite集合中再加载所有的被测试对象,而testsui ...
- 用python计算贷款_Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例...
本文实例讲述了Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据.分享给大家供大家参考,具体如下: 一.Logistic回归模型: 二.Logistic回归建模步骤 1.根据分析 ...
- python背包问题并行_python基于递归解决背包问题详解
递归是个好东西,任何具有递归性质的问题通过函数递归调用会变得很简单.一个很复杂的问题,几行代码就能搞定. 最简单的递归问题:现有重量为weight的包,有若干重量分别为W1,W2.....Wn的物品, ...
最新文章
- postman 以全局变量活用 Token
- 成功解决ValueError: could not convert string to float: ‘\\N‘
- 【哲学】形而上学具体指什么?metaphysics
- python 读取json为list及向json文件追加数据
- linux的sendmail服务有啥用,Linux的SendMail服务
- linux网线连接树莓派,3、树莓派使用网线连接路由器获取网络的讲解
- zb怎么做渲染图_怎样用ZBrush对模型进行渲染(二)
- MySQL的select语法
- C# 访问 带密码的access数据库
- 泛函分析 04.01 有界线性算子 - 有界线性算子与有界线性泛函
- 生物信息学中用到的计算机知识,生物信息学期末复习知识点总结
- GPS NMEA码详解
- lib库知识全面讲解(.lib、.dll)
- Burpsuit2.0系列的破解 与jdk 1.80在ubuntu下运行成功.以及代理设置ok,且burp证书导入ok,却不能访问外网的问题.
- 分享:如何在线将两个PDF合并成一个
- 微表面模型Beckmann–Spizzichino distribution的概率密度函数推导
- 整理了100个软硬件都要懂的示波器基础知识
- java 获取远程服务器信息,java 远程获取服务器信息
- java中奇数魔方,算法-奇数阶魔方
- win10下安装Debain Linux子系统
热门文章
- 2017.9.1 公路修建问题 思考记录
- 【英语学习】【Level 07】U04 Rest and Relaxation L5 An inn by the lake
- 【OpenStack】【Keystone】安装与配置详解
- python Django之Web框架本质 (2)
- Android 开发总结大全
- python怎么创建字符串_Python 字符串
- 简述osi参考模型各层主要功能_OSI参考模型各层主要功能
- nuxt的asyncdata页面刷新params数据丢失_React navigation goBack方法返回刷新
- 不同网站不同网卡_弄清高端网站建设的独特不同之处才能做好网站
- python telnetlib详解 执行循环命令_Python3+telnetlib实现telnet客户端