本文整理匯總了Python中flask_flatpages.FlatPages.init_app方法的典型用法代碼示例。如果您正苦於以下問題:Python FlatPages.init_app方法的具體用法?Python FlatPages.init_app怎麽用?Python FlatPages.init_app使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類flask_flatpages.FlatPages
的用法示例。
在下文中一共展示了FlatPages.init_app方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: CategorizedFlatPages
# 需要導入模塊: from flask_flatpages import FlatPages [as 別名]
# 或者: from flask_flatpages.FlatPages import init_app [as 別名]
class CategorizedFlatPages(object):
def __init__(self):
self.flat_pages = FlatPages()
self.root_category = Category(None, '<root>')
def init_app(self, app):
self.flat_pages.init_app(app)
self._set_categories()
def __iter__(self):
return iter(sorted(self.root_category.categories.values(),
cmp=compare))
def get(self, category_id, article_id):
category = self.root_category.categories.get(category_id)
if category is None:
return None
return category.articles.get(article_id)
def get_articles_of_category(self, category_id):
barticles = []
for a in self.root_category.categories.get(category_id).articles.values():
if a.id != 'index':
barticles.append(a)
return barticles
def get_or_404(self, category_id, article_id):
page = self.get(category_id, article_id)
if page is None:
abort(404)
return page
def _set_categories(self):
for page in self.flat_pages:
components = page.path.split('/')
parent = self.root_category
for category_id in components[:-1]:
parent = parent.add_category(category_id)
page_name = components[-1]
parent.add_article(page_name, page)
def reload(self):
self.flat_pages.reload()
self._set_categories()
示例2: Flask
# 需要導入模塊: from flask_flatpages import FlatPages [as 別名]
# 或者: from flask_flatpages.FlatPages import init_app [as 別名]
from flask import Flask
from flask_flatpages import FlatPages, pygments_style_defs
app = Flask(__name__)
pages = FlatPages()
APP_SETTINGS = "app.cfg"
app.config.from_pyfile(APP_SETTINGS)
pages.init_app(app)
import blog.views
示例3: get_articles_of_category
# 需要導入模塊: from flask_flatpages import FlatPages [as 別名]
# 或者: from flask_flatpages.FlatPages import init_app [as 別名]
class CategorizedFlatPages:
"""The main interface to gather pages and categories
* What is it used for?
- Looping: E.g. In the navbar
- get news → get_articles_of_category('news')
- get static page → get_or_404()
"""
def __init__(self):
self.flat_pages = FlatPages()
self.root_category = Category(None, '<root>')
def init_app(self, app):
self.flat_pages.init_app(app)
self._init_categories()
@property
def categories(self):
"""Yield all categories as an iterable
"""
return sorted(self.root_category.categories.values(),
key=attrgetter('rank'))
def get(self, category_id, article_id):
category = self.root_category.categories.get(category_id)
if category is None:
return None
return category._articles.get(article_id)
def get_category(self, category_id):
"""Return the `Category` object from a given name (id)
"""
return self.root_category.categories.get(category_id)
def get_articles_of_category(self, category_id):
"""Get the articles of a category
- ONLY used for fetching news
"""
articles = []
category = self.get_category(category_id)
if category:
for a in category._articles.values():
if a.id != 'index':
articles.append(a)
return articles
def get_or_404(self, category_id, article_id):
"""Fetch a static page"""
page = self.get(category_id, article_id)
if page is None:
abort(404)
return page
def _init_categories(self):
# TODO: Store categories, not articles
for page in self.flat_pages:
# get category + page name
# plus, assert that there is nothing more to that.
components = page.path.split('/')
parent = self.root_category
for category_id in components[:-1]:
parent = parent.add_child_category(category_id)
basename = components[-1]
parent.add_article(basename, page)
def reload(self):
self.flat_pages.reload()
self._init_categories()
示例4: Flask
# 需要導入模塊: from flask_flatpages import FlatPages [as 別名]
# 或者: from flask_flatpages.FlatPages import init_app [as 別名]
# -*- coding: utf-8 -*-
'''mysite __init__
'''
from flask import Flask
from flask_flatpages import FlatPages
from flask_mail import Mail
app = Flask(__name__, instance_relative_config=True)
app.config.from_object('config')
app.config.from_pyfile('config.py')
Email = Mail(app)
app.config['FLATPAGES_EXTENSION'] = '.md'
flatpages = FlatPages()
flatpages.init_app(app)
# 注冊藍圖
# 後import blog 是因為防止循環導入。
#blog中引用了flatpage, 如果放在前麵則flatpage還未創建從而引發錯誤
from .blog import blog
#from .api import api
app.register_blueprint(blog)
#app.register_blueprint(api)