0

フラスコを使用して単一ページのアプリケーションを作成しています。プロセスを正しく理解していれば、最初の GET リクエストでフラスコに単一のページ (html と css) を提供させることはできません。それらから、クライアントはデータのみを受信し、既に保存されている html (部分/他のページ) を使用してサイトを変更します。

理想的には、slim、haml、または jade など、html よりも優れた構文を提供するものを使用したいと考えています。この機能はangularJSを通じて提供されるため、テンプレートの側面は必要ありませんが。

上記が正しいと仮定すると、pyjade (またはそのようなツール) をフラスコで使用して、クライアント側アプリケーションが使用するパーシャルを変換する方法が混乱しています。たとえば、ルートを作成するクライアント側のコードがある場合...

var app = angular.module('アプリ');

app.config(function($routeProvider){
    $routeProvider.when('/', {
        templateURL: 'partials/home.jade',
        controller: 'HomeController'    
    }).otherwise({ redirectTo: '/' });
});

次に、クライアントに提供されるときに、home.jade を home.html に変換する必要があります。何を正しく行うべきかを理解していると仮定すると、どうすればこれを行うことができますか?

そのような解決策の 1 つは、home.jade を手動で home.html に変換し、コードを次のように保持することです。

var app = angular.module('App');

    app.config(function($routeProvider){
        $routeProvider.when('/', {
            templateURL: 'partials/home.jade',
            controller: 'HomeController'    
        }).otherwise({ redirectTo: '/' });
    });
4

1 に答える 1

0

コントローラーとして Flask、PyJade、jQuery を使用しています。PyJade をインストールするには、

sudo pip install pyjade

ドキュメントに従って、Flask アプリに次の行を挿入できます。

app.jinja_env.add_extension('pyjade.ext.jinja.PyJadeExtension')
于 2015-10-05T16:42:42.610 に答える