做一个article 的app
class Article(models.Model):
author = models.ForeignKey(User, verbose_name=_('User'))
subject = models.CharField(max_length=250,verbose_name=_('Subject'))
content = models.TextField(verbose_name=_('Content'))
class ArticleForm(ModelForm):
subject = forms.CharField(label=_("subject"), required=True)
content = forms.CharField(widget=forms.Textarea)
class Meta:
model = Article
list = ('subject','content','author')我们会看到author是一个外键来的,这个外键要从session中得到的。
所以看下面的示例代码 :
def add(request):
context ={}
context['article_form'] = ArticleForm()
if request.method == 'POST':
#save the author automatic
article_form = ArticleForm(request.POST)
if article_form.is_valid():
article_form.save()如果按上面那样写,是无法通过验证的。因为这个时候传输过来的author是空的。
那怎么处理呢?
def add(request):
context ={}
context['article_form'] = ArticleForm()
if request.method == 'POST':
#save the author automatic
post_values = request.POST.copy()
post_values['author'] = request.juser.pk
article_form = ArticleForm(post_values)
if article_form.is_valid():
article_form.save()
分享到:
相关推荐
在Python的Web开发框架Django中,Form表单验证是一个至关重要的部分,它允许开发者创建用户界面并确保从用户那里接收到的数据是有效且安全的。Form类是Django提供的一个强大工具,用于处理HTTP请求中的数据,进行...
本教程将详细讲解Django的Form表单验证以及如何结合Ajax实现无刷新验证。 首先,Django Form表单验证涉及以下关键概念: 1. **定义Form类**:在Django中,你需要创建一个继承自`forms.Form`或`forms.ModelForm`的...
`django-formapi` 是一个用于 Django 框架的库,它使得开发者能够快速、方便地为 Django 表单验证创建符合 JSONAPI 规范的 RESTful API。这个库的目标是简化处理表单数据的过程,尤其是当你的应用需要通过 API 接收...
下面我们将详细探讨如何在Django中使用`form`进行表单验证。 首先,表单验证的引入是因为在传统的HTTP请求处理中,如GET、POST或PUT,我们需要在视图函数中手动检查用户输入的数据是否合法。例如,HTML代码中的表单...
`form.cleaned_data`是一个字典,包含了所有字段经过验证后的数据,可以直接用于保存到数据库或其他操作。在本例中,`'classInfo'`键对应的值就是用户在`select`下拉框中选择的`ClassInfo`对象的ID。 总结起来,...
在Django框架中,Form是处理用户输入数据的重要工具,它简化了模型与视图之间的交互,使得数据验证和处理更加高效。本教程基于Django 1.6和Python 2.7.6,将详细介绍如何利用Form实现注册、登录、注销以及修改密码...
在Django中,Form是处理用户输入数据的重要工具,它允许开发者自定义表单的结构、验证规则以及渲染方式。本篇文章将详细讲解如何在Django Form中自定义`ChoiceField`,使其下拉菜单的选项从数据库中动态获取。 首先...
Django是一个高级Python Web框架,它鼓励快速开发和干净、实用的设计。它具有许多功能,可以处理数据密集型的网站,无需花费太多的时间。在Web开发中,表单是数据交互的基本组成部分,Django为此提供了丰富的支持。 ...
2. **创建视图**:在Django应用的views.py文件中,创建一个视图函数,该函数负责生成验证码并将其存储到session中,供后续验证使用: ```python from django.shortcuts import render from django....
在Django框架中,ModelForm是用于方便地创建基于模型(Model)的表单(Form)的一个工具。它简化了数据验证和模型实例的创建。本示例将讲解如何使用ModelForm来实现多文件上传的功能,这对于处理用户上传的多个文件...
虽然上述方法能够实现表单的功能,但在实际开发过程中推荐使用 Django 的 Form 类来构建表单,这样可以更好地利用框架提供的功能,如自动 HTML 生成、数据验证等。 ##### 4.1 创建 Django Form 类 为了提高代码...
### Django前端模板及crispy form美化等 #### 一、引言 本文档作为对上一篇关于Django用户登录注册等内容的延续,主要聚焦于如何利用第三方库Crispy Forms来实现前端页面的美化与优化。对于初学者而言,掌握Django...
我们之前写的代码都没有对前端input框输入的数据做验证,我们今天来看下,如果做form表单的数据的验证 在views文件做验证 首先用文字描述一下流程 1、在views文件中导入forms模块 2、然后创建一个类,继承forms.form...
Django Form不仅支持内置验证器,还允许开发者自定义验证规则。通过定义`clean_fieldname()`方法,你可以对特定字段进行额外的验证。 ```python def clean_username(self): username = self.cleaned_data.get('...
### Django用户身份验证详解 #### 一、引言 Django 是一款强大的 Python Web 开发框架,被广泛应用于各种规模的网站开发中。其内置的身份验证系统是其中一个重要的特性,可以方便地帮助开发者实现用户登录、注销、...
第22周-第20章节-Python3.5-Django之Form组件验证4.avi
第22周-第17章节-Python3.5-Django之Form组件验证1.avi
第22周-第18章节-Python3.5-Django之Form组件验证2.avi
第22周-第19章节-Python3.5-Django之Form组件验证3.avi