0

MVCのバックグラウンドからではなく、純粋にphpを使用する場合、最大の課題の1つは、フレームワークとMVCのイデオロギーを把握することでした。多くの人がコードをプッシュする標準的な方法としてMCVに準拠していると確信していますが、フレームワークの基本的な紹介を見つけることができません。また、フレームワークを始めるのはかなり面倒なようですが、私の目標は純粋にPythonコードをHTMLドキュメントに書き込むことです。

一見、Makoは問題の解決策のように見え、Pythonコードをhtmlに書き込むことができましたが、一見すると、単なる「それ」よりも多くの作業が必要であるように見えました。

私が見たどこにも答えが見つからないのは、「マコから始める方法」の全体像です。

Makoサイトを見ると、これが表示されます。

<%inherit file="base.html"/>
<%
rows = [[v for v in range(0,10)] for row in range(0,10)]
%>
<table>
% for row in rows:
    ${makerow(row)}
% endfor
</table>

<%def name="makerow(row)">
<tr>
% for name in row:
    <td>${name}</td>\
% endfor
</tr>
</%def>

もう一度、テンプレートのイデオロギー(yuk)全体が登場するのを目にしますが、PythonコードをHTMLの期間に記述したいだけです。だから私が持っているいくつかの質問は次のとおりです:

  • Makoがインストールされたら、PythonコードをHTMLに入れ始めることができますか?
  • そうでない場合は、上記のサンプルコードを.pyファイルに入れ、base.htmlを同じディレクトリに置く必要があると思いますか?または、.pyファイルを別の場所に配置しますか?
  • これは、htmlファイル内に.pyファイル(または.makoファイルなど)への同様の呼び出しが含まれているという意味でCSSのように機能しますか?
  • フレームワークのように聞こえるので、htmlファイルと.py / .makoを同じディレクトリに配置する必要がありますか、それともそれらを分離する必要がありますか?
  • 編集:拡張機能を.pspと呼ぶことができるかどうかを尋ねるのもよいでしょう(mod_pythonではありませんが)。

私は多くの人がこれは愚かであり、それを行うためのより良い方法があり、私は大きな間違いを犯していると言うことを知っています。しかし、明らかにこれをより詳細に説明するnoobチュートリアルはないので、私が適切だと思う方法でそれを行うことにします。Pythonコードをファイル内に配置し、それで完了します。

私もこのmod_pythonを見ましたが、それは古い解決策のように見えるので、実際にはそれをスキップしたいと思います。ただし、PythonをHTMLに埋め込むための「新しい」ソリューションがあることを願っています。

PS。すべてのフレームワークエバンジェリストが私をジャンプさせることは知っていますが、その意図はコードの書き方について議論することではありません。Python、Djangos、MakosのいずれのWebサイトにも、noob / step-by-stepチュートリアルがないため、Pylons、Pyramidなど、これを実行したい人は、フレームワークの実装方法を心から知っていると想定する必要があります。しかし、私はそうしません。そのため、PythonコードをHTMLに入れて、Pythonが最初に完全に解決するはずのことを学ぶことに時間を費やしたり無駄にしたりしたくないのです。

PPS。noobとは、などの基本を知りたいという意味です。このコードを取得してこのタイプのファイルに入れ、そのファイルをそこに置きます。次に、このファイルを取得して実行します。私はこれをどこにも見つけることができませんでした。それは公の秘密のようです.....

4

1 に答える 1

2

まず、 Web 開発専用のカスタム開発言語である PHP とは異なり、Python は汎用プログラミング言語であることを理解してください。Python を使用すると、Windows アプリ、Mac アプリ、サーバー サイド スクリプト、モバイル アプリケーション、サーバー、ネットワーク クライアントなど、一般的なプログラミングで可能なすべてのことを開発できます。Java や C# と同じです。

したがって、Python で Web 開発を行う方法は複数あります。「PHP は Web 開発である」という考えは誤りであり、「Python Web 開発は PHP Web 開発のようになる」という考えも誤りです。

最後に、PHP は Web 開発専用に設計されているため、Web サーバーの背後に座って要求を処理し、厳密な形式で応答を返す必要があるコードを作成するために必要な、さまざまな詳細の多くが「隠されている」ことに注意してください。

Python で Web 開発を行うには、何よりもまず Python を学習する必要があります。これはPHPとは異なります。PHP を学ぶのと同じように Web 開発も学びます (それが主な目的であるため)。Python を学べば、あらゆる種類のアプリケーションを開発できます。また、多くの Python 開発者は Web 用に開発していません。

Pythons、Djangos、Makos のいずれの Web サイトにも noob/ステップバイステップのチュートリアルが見つからないため、Pylons、Pyramid などについては、これを実行したい人はフレームワークの実装方法を暗記していると想定する必要があります。

Mako はテンプレート言語です (Smarty と同様)。Smarty が PHP なしでは役に立たないのと同じように、「スタンドアロン」で使用しても意味がありません。

すべての Web フレームワークには初心者向けガイドがあります。いくつかは他のものよりも優れています。Django には、最高のドキュメントの 1 つがあります。ここから始めてください。フレームワークを使用するには、それらが公開するメソッドを知る必要があります。mysql_*MySQL と対話するために PHPのメソッドを知る必要があるのと同じように。

残りの質問は、Python が PHP とは違うという事実から生じています。したがって、PHP に期待するようになったものは、Python エコシステムでは見つかりませんでした。

于 2012-10-05T18:00:07.340 に答える