如何使用Django中存储在数据库中的值自动填充表单模板?

阿基尔·纳德(Akhil Nadh)PC

我想用已经存储在数据库中的值填充我的edit_post.html。我的编辑网址是http://hostname/edit_Post/960“ 960”对应于我的数据库中的项目ID。我要求提供该ID以更新其内容。

我希望内容出现在这里:-

edit_Post.html

<form id="category_form" method="post" action="/edit_Post/">

    {% csrf_token %}

    {% for field in form.visible_fields %}            
        {{ field.errors }}
        <input type="text" placeholder='{{ field.help_text }}'>
    {% endfor %}

    <input type="submit" name="submit" value="Create Post" />
</form>

urls.py

url(r'^edit_Post/(?P<id>\d+)', 'blog.views.edit_Post'),

表格

class addPostForm(forms.ModelForm):
    title = forms.CharField(max_length=128, help_text="Please enter the title ")
    author = forms.CharField(max_length=128, help_text="Please enter the Author ")
    bodytext = forms.CharField(max_length=128,
                               help_text="Please enter the Body",
                               required=False)

    # An inline class to provide additional information on the form.
    class Meta:
        # Provide an association between the ModelForm and a model
        model=posts
        fields = ('title', 'author','bodytext')

终于views.py

def edit_Post(request, id):
    context = RequestContext(request)
    instance=posts.objects.get(id=id)
    form = addPostForm(instance=instance)
    if request.method == "POST":
        form = addPostForm(request.POST,instance=instance)
        if form.is_valid():
            form.save(commit=True)
            confirmation_message = "Post information updated successfully!"
            return HttpResponseRedirect('/home')
        else:
            print form.errors
    else:
        form=addPostForm(instance=instance)
    return render_to_response('edit_Post.html', {'form': form}, context)

我的模型

class posts(models.Model):
    author = models.CharField(max_length = 30)
    title = models.CharField(max_length = 100)
    bodytext = models.TextField()
    timestamp = models.DateTimeField(default=datetime.now, blank=True)
丹尼尔·罗斯曼

如果您没有绕过Django输出字段的机制,那么Django已经可以做到这一点。在模板中,您应该这样做:

{% for field in form.visible_fields %}
    {{ field.errors }}
    {{ field }}
{% endfor %}

如果要保留占位符功能,请将其添加到表单类本身中:

class addPostForm(forms.ModelForm):
    title = forms.CharField(max_length=128, widget=forms.TextInput(attrs={'placeholder': 'Please enter the title'}))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将HTML表单模板存储在数据库中

如何使用用户在 Django 中的输入将值存储在数据库中?

在 Web 表单中选中复选框时如何自动将值存储在数据库中

如何将表单模型中的数据获取到 Django 中的数据库中

DJANGO:如何将表单值序列化为json以存储在数据库列中

在数据库Django中存储不同的值

如何基于下拉菜单选择自动使用数据库中的数据填充表单

存储在数据库中的值

如何使用其他值中定义的类型创建值(存储在数据库中)

使用For循环将值存储在数据库中

如何使用数组传递选择框值并使用php存储在数据库中

表单数据未存储在数据库中

如何将 jQuery 范围滑块值转换为表单以存储在 Django 的数据库中

Django 表单:如何设置字段的初始值,即它当前包含在数据库中的值

Rails表单选择下拉列表显示存储在数据库中的值

Laravel-在数据库中存储多个复选框表单值

自动选择存储在数据库中的值,其余显示为下拉列表

如何使用django 1.7.3 / postgres迁移在数据库中设置默认列值?

如何将在TYPO3页面模板中定义的助焊剂表单字段而不是弹性字段存储在数据库列中?

如何验证表单字段但不将其存储在数据库中

使用节点js上传文件并将表单信息存储在数据库中(mysql)

如何在Django中编译保存在数据库中的模板

@property 不在数据库中存储值

需要加密以将值存储在数据库中

在数据库中存储多个值

输入值未存储在数据库中

值在数据库中存储2次

在数据库中存储选定的CheckedListBox值

无法使用 Django 表单将数据保存在数据库中