国产探花免费观看_亚洲丰满少妇自慰呻吟_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請求到數據庫中:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 常德市| 通化市| 无极县| 邛崃市| 贡嘎县| 巢湖市| 缙云县| 霞浦县| 澎湖县| 岗巴县| 稻城县| 洪雅县| 常德市| 彰化县| 龙门县| 福清市| 延边| 乌恰县| 海伦市| 始兴县| 台安县| 乐业县| 涞源县| 永嘉县| 涟水县| 章丘市| 榆中县| 建瓯市| 无极县| 揭东县| 四川省| 大田县| 平泉县| 青铜峡市| 顺平县| 泰兴市| 晋城| 通许县| 蓝山县| 莆田市| 绥阳县|