使用Python Django開發web應用7、8 表單管理

版本聲明:轉載請註明出處。未經允許,禁止商業用途。

7 使用Python Django開發web應用 講義 表單管理 講師:劉一凡

表單是用戶向服務器提交信息的最主要方式。

實現通過前臺提交blog的功能
第一步:
定義form
在views.py中定義
from django import forms
class BlogForm(forms.ModelForm):
    class Meta:
        #指明表單基於哪個數據模型,生成HTML表單時,會包含模型blog中的所有屬性字段
        model=Blog
        #從生成的HTML表單中移除時間戳
        exclude={'timestamp',}

第二步:
在template中使用,在blog.html中添加
    <form action="/blog/add/", method="post">
    <!-- avoid "CSRF verification failed" -->
    {% csrf_token %}
        <table>{{ form }}</table>
        <input type=submit name="submit" value="commit">
    </form>

第三步:
在views.py中
在函數blog()的定義中進行修改,將BlogForm的實例傳遞給template blog.html。
在context中添加元素:'form':BlogForm()

處理用戶提交的信息
from datetime import datetime
from django.http.response import HttpResponseRedirect
def add(request):
    if request.method=='POST':
        form = BlogForm(request.POST)
        if form.is_valid():
            blog = form.save(commit=False)
            blog.timestamp=datetime.now()
            blog.save()
    return HttpResponseRedirect('/blog/')


第四步:
添加url映射,在blog/urls.py的urlpatterns中添加
path('add/',views.add),

第五步:
添加blog,查看效果
在前臺添加blog成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章