博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django学习之表单(forms)
阅读量:5083 次
发布时间:2019-06-13

本文共 2149 字,大约阅读时间需要 7 分钟。

我们的博客现在已经实现了博客列表的查看,博客的查看。现在该是我们实现创建和更新博客的时候了。

要实现博客的创建和更新,我们需要学习Django表单的相关知识。

在处理表单的过程中,Django表单功能做了哪些工作呢?

  • 传递数据的准备和重建
  • 为数据创建HTML表单
  • 从客户端接收和处理提交的表单和数据

Django Form类是系统的核心组件。在django中, 模型描述的是一个对象的逻辑架构,这绵行为,它显现给我们的方式。与此类似,Form类描述的是一个表单和决定它是如何工作和显示的。

一个模型类的字段映射到数据库的字段,与此类似,表单类的字段映射到HTML中表单的<input>元素。

首先,创建一个创建博客的模板文件edit.html

            My Blog                
{% csrf_token %} {
{form.as_p}}

恩,在主页上添加创建博客的链接(先不管美化,实现功能再说)

            My Blog                
{% csrf_token %} {
{form.as_p}}
tmyyss@ubuntu:~/python/django/myproject/blog/templates/blog$ more index.html My Blog edit {% if blogs %} {% for blog in blogs %}

{
{blog.title}}

Published {

{blog.published_time}}

{

{blog.text | linebreaks}}

{% endfor %} {% else %}

No blog was published

{% endif %}

接下来,添加Url

from django.conf.urls import patterns,urlfrom blog.views import *urlpatterns = patterns('',    url(r'^$',index,name='index'),    url(r'^edit/$',edit,name='edit'),    url(r'^(?P
\d+)/$',detail,name='detail'),)

添加url对应的view函数

from django.shortcuts import render,get_object_or_404,redirectfrom blog.models import Blog,PostFormimport datetimedef index(request):    blogs=Blog.objects.all()    return render(request,'blog/index.html',{
'blogs':blogs})def detail(request,id): blog=get_object_or_404(Blog,pk=id) return render(request,'blog/detail.html',{
'blog':blog})def edit(request): if request.method=='POST': form=PostForm(request.POST) if form.is_valid(): post=form.save(commit=False) post.user=request.user post.created_time=datetime.datetime.now() post.published_time=datetime.datetime.now() post.save() return render(request,'blog/detail.html',{
'blog':post}) else: form=PostForm() return render(request,'blog/edit.html',{
'form':form})

好了,启动服务器,输入网址后,我们就可以添加博客文章了。

 

转载于:https://www.cnblogs.com/tmyyss/p/4375082.html

你可能感兴趣的文章
各种米的营养价值
查看>>
php 处理数字为金钱格式
查看>>
学习51单片机——秒表分享
查看>>
我画你猜(微信版--游戏说明)
查看>>
cssText的用法以及特点 转载至http://www.cnblogs.com/majingyi/p/6840818.html
查看>>
7款纯CSS3实现的炫酷动画应用
查看>>
tensorflow中有向图(计算图、Graph)、上下文环境(Session)和执行流程
查看>>
超简单tensorflow入门优化程序&&tensorboard可视化
查看>>
线性方程组的求解(C++)
查看>>
递归缩写
查看>>
Spring入门学习(一)
查看>>
[函数] 当前时间 / <time.h>头文件 / 结构体的指针 struct tm *local
查看>>
CI框架整合UEditor编辑器上传功能
查看>>
树的层号表示
查看>>
最大整数
查看>>
[转] 数据模型建设的几点思考与总结
查看>>
[1].Common SSIS Applications
查看>>
stm8s + si4463 寄存器配置
查看>>
Asp.NetCore取配置信息
查看>>
自动变量提示
查看>>