django:在form中使用admin里面的绿色加号来更新外键,超简单

django自带后台:

那个加号是不是很好用,直接弹出一个框,添加外键之后自动选中,下面教你如何在自己的form里面使用它。

先看效果图:

功能完全一致,就是用户需要那个外键的修改权限,为什么功能完全一致呢,因为JS,图标的图片什么的完全用它的,哈哈,BSD嘛

<a href="/admin/app_name/field_name/add/" class="add-another" id="add_id_field_name" onclick="return showAddAnotherPopup(this);">
<img src="/static/admin/img/icon_addlink.gif" width="10" height="10" alt="Add Another"/>    </a>

这就是那个加号按钮,图什么的自己用find来找然后加到自己的static里面,showAddAnotherPopup在哪,在这里:

<script src="/static/admin/js/admin/RelatedObjectLookups.js" type="text/javascript"></script>

搞定,so easy,这才是快速开发的真谛啊,真是“快速”

最后附上我的完整代码:

{% if form.is_multipart %}
    <form enctype="multipart/form-data" method="post">
{% else %}
    <form method="post">
{% endif %}
{% csrf_token %}

<div class="alert alert-success alert-dismissable">
         <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
                                 <strong>注意!</strong> 项目可以为空,但是如果选择了项目那么所有人可见,可下载
</div>

<div class="form-group">
        <li>
          <label for="id_project">{{ form.project.label }}</label>
          {{ form.project.errors }}</ul>
          {{ form.project }}
        </li>
        <li>
          <label for="id_tag">{{ form.tag.label }}</label>
          {{ form.tag.errors }}
          {{ form.tag }}
          <span class="helptext">{{ form.tag.help_text }}</span>
        </li>
        <li>
          <label for="id_group">{{ form.group.label }}</label>
          {{ form.group }}
          {{ form.group.errors }}
          <span class="helptext">{{ form.group.help_text }}</span>
        </li>
        <li>
          <label id="id_desc">{{ form.desc.label }}</label>
          {{ form.desc.errors }}
          {{ form.desc }}
          <span class="helptext">{{ form.desc.help_text }}</span>
        </li>
        <li>
        <label for="id_file">{{ form.file.label }}</label>
                             {{ form.file }}
        <span class="helptext">{{ form.file.help_text }}</span>
        </li>
        <li>
          <label class="id_public">{{ form.public.label }}<label>
          {{ form.public }}
        </li>
        ---------------------------
</div>
<style type="text/css">
    ul.errorlist {
        margin: 0;
        padding: 0;
    }
    .errorlist li {
        background-color: red;
        color: white;
        display: block;
        font-size: 12px;
        margin: 0 0 3px;
        padding: 4px 5px;
    }
    .helptext {
        font-size: 10px !important;
        color: #999;
    }
    label {
        color: #0C3C26;
    }
</style>

<button type="submit" class="btn btn-default">Submit</button>
</form>

注意form我并没有用as_table或者as_ul来表示,分解开很灵活,而且可以使用django的检查功能,那一段css是给错误信息和helptext一些样式

时间: 2024-08-28 20:44:34

django:在form中使用admin里面的绿色加号来更新外键,超简单的相关文章

Java学习总结(十六)——MySQL数据库(中)分组,嵌套,连接查询及外键与关系表设计

一.分组查询 1.语法:group by 分组字段1[,分组字段2,.........] [having 分组后的筛选条件]2.注意:分组字段应该与select后的查询字段一致,否则查询结果无意义3.分组查询经常会与聚合函数一起使用例:(1)先建一张商品表(以此表为例进行分组查询) (2)插入记录 (3)查询:#1.计算每一种商品单价的平均价格 查询结果:#2.计算日用品种类的平均价格 查询结果:二.连接查询1.等值连接语法:select 字段1,字段2,........ from 表A,表B,

转: django数据库操作-增删改查-多对多关系以及一对多(外键)关系

原文链接:http://blog.csdn.net/u010271717/article/details/22044415 一.一对多(外键) 例子:一个作者对应多本书,一本书只有一个作者 model代码: [python] view plain copy class Person(models.Model); name = models.CharField('作者姓名', max_length=10) age = models.IntegerField('作者年龄') class Book(m

mysql|中主外键关系(转)

http://my.oschina.net/liting/blog/356150 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, 外键可以有重复的, 可以是空值,用来和其他表建立联系用的.所以说,如果谈到了外键,一定是至少涉及到两张表.例如下面这两张表: 上面有两张表:部门表(dept).员工表(emp).Id=Dept_id,而Dept_id就

mysql中的外键是什么?以及需要使用外键吗?

外键的作用 外键的主要作用是:保持数据的一致性.完整性. 关于外键,我有自己的一些理解,但是不晓得是否正确,举个例子来表达我的看法:假如现在需要建立一个表,一个什么样的表呢?一个班级的学生个人信息表: 所以在设计的时候,就给表1添加一个外键,这个外键就是表2中的学号字段,那么这样表1就是主表,表2就是子表.所以结合2张表就能保持数据的一致性.完整性(估计就是还原成原来的那张大表吧).借着这个例子再谈谈外键的一些事项:1表1可以有一个或者多个外键,也可以没有.(如果表1有多个外键可不可以是这样的情

MySQL中的外键是什么、有什么作用

最近自学数据库MySQL,然后有个疑问,一直不得其解,查询了相关资料,最后还是没有解决. 我的疑问是 "使用外键约束" ,然后我对 "外键" 这个词不是很理解,查询相关资料都是讲一些术语,说外键的主要作用是:保持数据的一致性.完整性.听得我是一头雾水. 关于外键,我有自己的一些理解,但是不晓得是否正确,举个例子来表达我的看法:假如现在需要建立一个表,一个什么样的表呢?一个班级的学生个人信息表: 所以在设计的时候,就给表1添加一个外键,这个外键就是表2中的学号字段,那

SQL数据库中的主键与外键的介绍

一.什么是主键.外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如 : 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 用户表(用户名.密码.登录级别) 其中用户名是唯一的, 用户名就是一个主键 上机记录表(卡号,学号,姓名.序列号) 上机记录表中单一一个属性无法唯一标识一条记录,学号和姓名的组合才可以唯一标识一条记录,所以 学号和姓名的属性组是一个主键 上机记录表中的序列号不是成绩表的

数据库开发——参照完整性——在外键中使用Delete on cascade选项

原文:数据库开发--参照完整性--在外键中使用Delete on cascade选项 原文: http://www.mssqltips.com/sqlservertip/2743/using-delete-cascade-option-for-foreign-keys/?utm_source=dailynewsletter&utm_medium=email&utm_content=headline&utm_campaign=2012731 参照完整性在设计数据库时需要重视,在我作为

mysql中主外键关系

一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, 外键可以有重复的, 可以是空值,用来和其他表建立联系用的.所以说,如果谈到了外键,一定是至少涉及到两张表.例如下面这两张表: 上面有两张表:部门表(dept).员工表(emp).Id=Dept_id,而Dept_id就是员工表中的外键:因为员工表中的员工需要知道自己属于哪个部门,就可以通过外键Dep

Django中的Admin站点

使用Admin站点 假设我们要设计一个新闻网站,我们需要编写展示给用户的页面,网页上展示的新闻信息是从哪里来的呢?是从数据库中查找到新闻的信息,然后把它展示在页面上.但是我们的网站上的新闻每天都要更新,这就意味着对数据库的增.删.改.查操作,那么我们需要每天写sql语句操作数据库吗? 如果这样的话,是不是非常繁琐,所以我们可以设计一个页面,通过对这个页面的操作来实现对新闻数据库的增删改查操作.那么问题来了,老板说我们需要在建立一个新网站,是不是还要设计一个页面来实现对新网站数据库的增删改查操作,