當前位置: 首頁>>代碼示例>>Python>>正文


Python FlatPages.init_app方法代碼示例

本文整理匯總了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()
開發者ID:janLo,項目名稱:sipa,代碼行數:47,代碼來源:flatpages.py

示例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
開發者ID:dereklmc,項目名稱:markdown-blog,代碼行數:14,代碼來源:__init__.py

示例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()
開發者ID:BelphegorPrime,項目名稱:sipa,代碼行數:72,代碼來源:flatpages.py

示例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)
開發者ID:wwmmqq,項目名稱:myblog,代碼行數:29,代碼來源:__init__.py


注:本文中的flask_flatpages.FlatPages.init_app方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。