zoukankan      html  css  js  c++  java
  • ModelForm

    1、实质

    model 和form组件相结合

    2、定义

    from django.forms import ModelForm
    class BookForm(ModelForm):
        class Meta:
            model = Book
            fields = '__all__'
            labels = {
                'name': "书名:",
                'price': "价格:",
                'data': "日期:",
                'publisher': "出版社",
                'authors': "作者",
            }
            widgets = {
                'data': wid.TextInput(attrs={"type": "date"})
            }

    3、添加数据

    def add_book(request):
        if request.method == "POST":
            book = BookForm(request.POST)
            if book.is_valid():
           # 将添加的数据保存到数据库中 book.save()
    return redirect("/books/")
         else:
           return HttpResponse(book.errors)
      # 获取model的表 book
    = BookForm() return render(request, "add_book.html", {'book': book})

    4、修改数据

    def edit_book(request, edit_id):
        book_obj = Book.objects.filter(nid=edit_id).first()
        if request.method == "POST":
            # 修改数据
            book = BookForm(request.POST, instance=book_obj)
            if book.is_valid():
                book.save()
                return redirect("/books/")
        # 获取表 和 改对应对应的 数据
        book = BookForm(instance=book_obj)
        return render(request, "edit_book.html", {"book": book})

    5、模板

    <form action="" method="post" novalidate>
    {% csrf_token %}
        {% for filed in book %}
        <p>
            {{ filed.label }}
            {{ filed }}
        </p>
    {% endfor %}
        <input type="submit" name="" id="" value="提交">
    </form>

     注意:form组件和Model无关

  • 相关阅读:
    hdu-2612-Find a way
    poj-1426-Find The Multiple
    POJ-2251-Dungeon Master
    树的遍历
    前序和中序+后序和中序
    哈夫曼树
    平衡二叉树
    队列和优先队列
    1213
    1163
  • 原文地址:https://www.cnblogs.com/wt7018/p/11392239.html
Copyright © 2011-2022 走看看