国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python的Flask框架中實現分頁功能的教程

2020-02-23 00:48:46
字體:
來源:轉載
供稿:網友

Blog Posts的提交

讓我們從簡單的開始。首頁上必須有一張用戶提交新的post的表單。

首先我們定義一個單域表單對象(fileapp/forms.py):
 

class PostForm(Form):  post = TextField('post', validators = [Required()])

下面,我們把這個表單添加到template中(fileapp/templates/index.html):
 

<!-- extend base layout -->{% extends "base.html" %} {% block content %}<h1>Hi, {{g.user.nickname}}!</h1><form action="" method="post" name="post">  {{form.hidden_tag()}}  <table>    <tr>      <td>Say something:</td>      <td>{{ form.post(size = 30, maxlength = 140) }}</td>      <td>      {% for error in form.errors.post %}      <span style="color: red;">[{{error}}]</span><br>      {% endfor %}      </td>    </tr>    <tr>      <td></td>      <td><input type="submit" value="Post!"></td>      <td></td>    </tr>  </table></form>{% for post in posts %}<p> {{post.author.nickname}} says: <b>{{post.body}}</b></p>{% endfor %}{% endblock %}

到目前為止沒啥新的東西,你可以看到,我們僅僅添加了另一表單,就像我們上一次做的那樣。
 

最后,功能試圖把所有東西都聯系在一起,并被擴展來處理這個表單(fileapp/views.py):
 

from forms import LoginForm, EditForm, PostFormfrom models import User, ROLE_USER, ROLE_ADMIN, Post @app.route('/', methods = ['GET', 'POST'])@app.route('/index', methods = ['GET', 'POST'])@login_requireddef index():  form = PostForm()  if form.validate_on_submit():    post = Post(body = form.post.data, timestamp = datetime.utcnow(), author = g.user)    db.session.add(post)    db.session.commit()    flash('Your post is now live!')    return redirect(url_for('index'))  posts = [    {      'author': { 'nickname': 'John' },      'body': 'Beautiful day in Portland!'    },    {      'author': { 'nickname': 'Susan' },      'body': 'The Avengers movie was so cool!'    }  ]  return render_template('index.html',    title = 'Home',    form = form,    posts = posts)

下面讓我們逐一回顧一下這個功能中的變動:

    我們導入了Post和PostForm類     我們接收了來自兩個路徑下的index和視圖的POST請求,因為那就是我們如何接收提交的請求。     當我們通過表單提交到功能視圖后,我們會把新的Post記錄錄入數據庫。然后就像之前做的一樣,通過常規的GET請求來訪問它。     Templat會收到一條額外的內容--表單,所以它會提交給文本域。

在我們繼續之前還有最后一點提醒:注意下面我們如何添加一條新的Post請求到數據庫中:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 合江县| 云和县| 贡觉县| 姚安县| 东至县| 将乐县| 靖江市| 浠水县| 卢氏县| 平潭县| 司法| 新巴尔虎左旗| 高州市| 磐安县| 务川| 赣榆县| 镇原县| 湟源县| 沁水县| 铜陵市| 连平县| 庆阳市| 德庆县| 永胜县| 贺州市| 浦北县| 新津县| 温州市| 东光县| 马龙县| 辽源市| 元江| 团风县| 广西| 安乡县| 湄潭县| 喜德县| 石阡县| 宿州市| 平谷区| 镇安县|