模拟窗口类ModelForm的应用

  1. 模拟窗口是Form的窗口中的fields是引用models类


class Mood(models.Model):
status =models.CharField(max_length=10,null=False) def __unicode__(self):
return self.status class Post(models.Model):
mood = models.ForeignKey('Mood',on_delete=models.CASCADE) #外键引用
nickname =models.CharField(max_length=10, default='不愿意透露自己的人')
message = models.TextField(null=False)
del_pass = models.CharField(max_length=10)
pub_time = models.DateTimeField(auto_now=True)
enabled = models.BooleanField(default=False) def __unicode__(self):
return u"%s" %(self.message) class PostForm(forms.ModelForm):#窗口类,要import forms
class Meta:
model= Post#用于指定用哪个model
fields= ['mood','nickname','message','del_pass']#用于指定用model中哪些变量 def __init__(self, *args, **kwarge):
super(PostForm, self).__init__(*args, **kwarge)
self.fields['mood'].label = '现在的心情'
self.fields['nickname'].label = '你的昵称'
self.fields['message'].label = '你的消息'
self.fields['del_pass'].label = '设置密码'
  1. view调用的函数

def posttest(request):
if request.method=='POST': #点击提交时的处理入口
post_form = PostForm(request.POST)
if post_form.is_valid:
message = "你的信息已存储"
post_form.save()
else:
message = "如果张贴,要每个字段多必须写"
template = get_template('one/posttest.html')
post_form = PostForm()
moods = Mood.objects.all()
request_context = RequestContext(request)
request_context.push(locals())
html = template.render(request_context) return HttpResponse(html)
  1. 对用的html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>post test</title>
</head>
<body>
{% if message %}
<h2>{{ message }}</h2>
{% endif %}
<form action="." method="post">
{% csrf_token %}
<!--#导入包,防止伪站点请求-->
<table>
{{ post_form.as_table }}
</table>
<input type="submit" value="张贴" >
<input type="reset" value="清除重设" >
</form>
</body>
</html>
  1. 最后,附上结果图

模拟窗口类ModelForm的应用的更多相关文章

  1. MFC注册窗口类以及FindWindow按窗口类名查询

    很多玩游戏的人都知道一般游戏客户端程序是不允许双开的,就是说在同一游戏在启动的时候,是无法打开多个窗口.很多其他软件如酷狗播放器等也是这样.如果把打开的窗口最小化,这时重新启动程序,最小化的窗口会被显 ...

  2. Win32编程:窗口类样式+窗口外观样式+窗口显示样式

    1.窗口类样式WNDCLASS.style CS_VREDRAW 提供窗口位置变化事件和高度变化事件的处理程序,功能是重绘窗口 CS_HREDRAW 提供窗口位置变化事件和宽度变化事件的处理程序,功能 ...

  3. 窗口类(Window Class)概述

    windows窗口编程(通常意义上的win32)有几个比较核心的概念:入口函数WinMain.窗口类Window Class.窗口过程.消息处理机制.通用控件.本文主要介绍窗口类的相关概念,包括: 窗 ...

  4. 通用窗口类 Inventory Pro 2.1.2 Demo1(下续篇 ),物品消耗扇形显示功能

    本篇想总结的是Inventory Pro中通用窗口的具体实现,但还是要强调下该插件的重点还是装备系统而不是通用窗口系统,所以这里提到的通用窗口类其实是通用装备窗口类(其实该插件中也有非装备窗口比如No ...

  5. 通用窗口类 Inventory Pro 2.1.2 Demo1(下)

    本篇想总结的是Inventory Pro中通用窗口的具体实现,但还是要强调下该插件的重点还是装备系统而不是通用窗口系统,所以这里提到的通用窗口类其实是通用装备窗口类(其实该插件中也有非装备窗口比如No ...

  6. 通用窗口类 Inventory Pro 2.1.2 Demo1(中)

    本篇想总结的是Inventory Pro中通用窗口的具体实现,但还是要强调下该插件的重点还是装备系统而不是通用窗口系统,所以这里提到的通用窗口类其实是通用装备窗口类(其实该插件中也有非装备窗口比如No ...

  7. 探索Win32系统之窗口类(转载)

    Window Classes in Win32 摘要 本文主要介绍win32系统里窗口类的运做和使用机制,探索一些细节问题,使win32窗口类的信息更加明朗化. 在本文中,"类", ...

  8. Duilib中系统消息在自己窗口类的使用

    这些Win32消息响应函数,子类只需要重写,不需要在HandleMessage里面再调用一次 开发中遇到的问题,在任务栏关闭程序,会响应WM_SYSCOMMAND消息,因为要给用户提示是否关闭,所以需 ...

  9. win32键盘记录 -- 自定义窗口类

    最近学了些关于window api编程的知识,于是琢磨编写一些键盘记录器,能够把输入的按键输出到窗口内,并且实现窗口自动滚动. 封装窗口类使用了GWL_USERDATA字段来保存this指针,比较容易 ...

随机推荐

  1. Liux chmod 给文件夹赋权限

    777 最高权限 给文件夹及子文件夹赋权限 chmod -R 777 * 给单独文件赋权限 chmod -R 777 ./startup.sh

  2. servlet 如何处理多请求访问以及线程讲解

    servlet 如何处理多请求访问以及线程讲解 场景:js循环500次请求同一个后台接口,接口内部逻辑:1.查询商品数量,2.扣减商品数量 ,那么该接口是否需要考虑多线程并发安全问题? 分析: 1.先 ...

  3. 图片框住一个小视频 谈css padding百分比自适应

    今天市场提出活动页,活动页有一块内容是在一个手机背景图框里播放视频,网页是适配的,设计师只给我一张带有手机壳的背景图. 如果用JS画应该也是可以的,但一个简单的活动页没必要,快速实现用背景图调CSS最 ...

  4. tornado框架自定义中间件过程中的一些基础技术(1)

    为了检查当前请求是否在用户的权限列表中,我们需要获取uri(也就是当前链接),下列代码说明了获取的过程,也证明了python魔术方法的重要性class testHandler(RequestHandl ...

  5. Acwing-196-质数距离(素数区间筛法)

    链接: https://www.acwing.com/problem/content/198/ 题意: 给定两个整数L和U,你需要在闭区间[L,U]内找到距离最接近的两个相邻质数C1和C2(即C2-C ...

  6. SpringBoot入门系列:第五篇 JPA mysql(转)

    一,准备工作,建立spring-boot-sample-mysql工程1.http://start.spring.io/ A.Artifact中输入spring-boot-sample-mysql B ...

  7. gtid 同步1050异常处理

    gtid 同步1050异常处理 .sql CREATE TABLE `fudao_student_lable` ( `id` ) NOT NULL AUTO_INCREMENT, `uid` ) un ...

  8. screen的安装使用

    安装 yum install -y screen [root@instance-- ~]# screen --help Use: screen [-opts] [cmd [args]] or: scr ...

  9. fish-redux快速创建文件夹模板 FishReduxTemplate

    推荐一款插件: 在插件plugins中搜  FishReduxTemplate

  10. bat脚本休眠时间技巧

    例子: @echo off set /a i=1 :c adb connect 192.168.1.109&ping -n 1 123.45.67.89 -w 10000>nul if ...