Flask中製作部落格首頁的分類功能 一)

2021-09-29 03:41:55 字數 2674 閱讀 7813

這裡我們使用的關係型資料庫。建立乙個sql_test.py檔案,複製以下內容。

from flask import flask

from flask_sqlalchemy import sqlalchemy

import os

from datetime import datetime

basedir = os.path.abspath(os.path.dirname(__file__))

'sqlite:///' + os.path.join(basedir, 'data-test.sqlite')

class category(db.model):

id = db.column(db.integer, primary_key=true)

tag = db.column(db.string(64))

count =db.column(db.integer, default=1)

def __init__(self, tag):

self.tag = tag

def __repr__(self):

return '' %self.tag

class post(db.model):

id = db.column(db.integer, primary_key=true)

title = db.column(db.string(64))

body = db.column(db.text)

timestamp = db.column(db.datetime, index=true, default=datetime.utcnow) # 時間戳

def __init__(self, title, body):

self.title = title

self.body = body

def __repr__(self):

return '' %self.title

在該檔案目錄下,開啟python shell,引入這個py檔案,並輸入一些資料

from sql_test import db, category, post

db.create_all() #建立表

cat = category('python')

post = post('python','hello python')

db.session.add(cat)

db.session.add(post)

db.session.commit() #提交

建立兩者的關係使用post中的外來鍵category_id連線兩行

關係

class post(db.model):

....

category_id = db.column(db.integer, db.foreignkey('category.id'))

category = db.relationship('category',backref=db.backref('posts', lazy='dynamic'))

新增的category_id在column中用db.foreignkey定義為外來鍵,表明這行的值為category的id值

新增的category屬性代表這個關係的物件導向視角。db,relationship()的第乙個引數表明這個關係的另一端哪個模型(這裡是category),backref引數在關係的另一端(category)新增乙個posts屬性,lazy指定如何載入相關記錄,dynamic表明不加在記錄,但提供載入記錄的查詢。

建立新的資料表並導傳入資料

db.drop_all() # 資料模型變了,所以要先刪掉原先的**

一對多關係

@main.route('/')

def index():

...category = category.query.order_by(category.count)[::-1]

return render_template('index.html', categorys=category)

最重要的就是 },其他都是css樣式

category

Flask中製作部落格首頁的分類功能 一)

這裡我們使用的關係型資料庫。建立乙個sql test.py檔案,複製以下內容。from flask import flask from flask sqlalchemy import sqlalchemy import os from datetime import datetime basedir...

製作首頁的顯示列表

1.在首頁新增顯示問答的列表,並定義好相應的樣式。無序列表 2.用字典向index.html傳遞引數。python from flask import flask,render template,request,redirect,url for,session from flask sqlalche...

實現首頁的分類查詢

indexservlet jsp forward 將分類資訊放入request,到真實的首頁jsp index.jsp 查詢全部分類 categoryservice categoryservice newcategoryserviceimp list list categoryservice.fin...