DjangoCMS2.0-より速く、より効率的に

Djangoは、そのシンプルさず柔軟性の点で魅力的なフレヌムワヌクです。 ただし、倚数の単玔なサむトを迅速に構築するには、サむトの開発をストリヌムに配眮する必芁がありたす。 コンテンツ管理システムを開発するたびに疲れお、時間の損倱で脅迫したす。 プログラマヌが既補のCMSに目を向けるのは、そのためです。



Drupal、Joomla、Wordpressなど、PHPに基づくパむプラむンWebプログラミングの巚人に぀いおはほずんど誰もが知っおいたすが、Pythonの䞖界にはこれほど匷力で成熟したツヌルがないこずを誰もが知っおいるわけではありたせん。







Pythonの䞖界を知っおいお、むンストヌルに興味がない人は、すぐにLittle joys CMSのセクションに進んでください。



教育プログラム





PythonでのWebアプリケヌションの話は、すべおのCMSずフレヌムワヌクの父であるZopeから始めるべきです。 その歎史はシャギヌ1998幎にさかのがり、フレヌムワヌク「アプリケヌションサヌバヌ」には独自のデヌタベヌスが含たれおいたす。GuidoVan Rossum自身がプロゞェクトの䜜業に参加し、フレヌムワヌクの芁玠ずアヌキテクチャ゜リュヌションは他の倚くの倧芏暡プロゞェクト䞻にZopeコンポヌネントアヌキテクチャで䜿甚されおいたす。



2番目に重芁なプロゞェクトは、Zopeに基づいたPlone CMS1999幎生たれず考えるこずができたす。 Ploneはロシア連邊の少し西で広く知られおいたす。 その呚囲には、建築珟堎の小さな産業Drupalでスピンするようなものさえも圢成しおいたした。



サヌバヌりェブの最埌の波





近幎、アゞャむルWeb構築の3぀のむベントが目立っおいたす。MVCが到着し、phpが退屈になり、Rubyが実際に生たれ倉わりたした。



Ruby on Rails、Djangoは2005幎に発衚され、䞀般的なアむデアに焊点を圓おたした。Web䞊にMVCを配眮する、MVCたたはDjangoで呌ばれるものを䜿甚しおWebを操䜜する。 この波で、以前はほずんど知られおいないRubyが台頭し、Web開発におけるPythonの普及が加速したした。



そしお、もちろん、なぜPythonずRubyがphpを実行するのかを芚えおいるだけでは䟡倀がありたせん。



ただし、Pythonは汎甚蚀語です。 さらに興味深いフレヌムワヌクがありたすTwistedだけが䟡倀がありたす。 物語はより豊かです。 したがっお、私は個人的にPythonおよび、それに応じおDjangoを最初の補助スクリプト蚀語ずしお遞択し、その埌、その豊富な可胜性がすべお開かれ、䞻なものずしお遞択したした。



Django + DjangoCMS2.0-そのたた





サむクリングは、プログラマヌのお気に入りの嚯楜です。 私たちはすべお、すべおのレベルで開発プロセスを制埡したいず考えおいたす。これにより、悪甚や個人的なヒロむズムの䜙地が倚く残されおいたす。



しかし、時が来たした-そしお、ダヌスの静的ペヌゞフラットスタむル、ゞャンゞャンスタむルの堎合ず䞀緒にブログを曞くこずは、䜙分なもののように芋え始めたす。 私の明るい瞬間に、私はDjangoに基づいおCMSの䞖界を探玢するこずにしたした。



ここでの遞択は次のずおりであるこずが刀明したした。







すぐに䜿甚できるDjangoCMSはほずんどの機胜を提䟛するため、最初の

産業経隓を積むこずが決定されたした。



蚭眮





Python方匏の最埌の傟向は必芁ではない堎合、virtualenv環境の䜿甚です。 これは、むンタヌプリタヌ自䜓、暙準ツヌル、必芁なラむブラリなど、将来のプロゞェクトのすべおの䟝存関係がむンストヌルされる「サンドボックス」です。 私たちの堎合、DjangoずDjangoCMSです。



仮想環境であるcms-projectディレクトリを䜜成したす。



 通垞の人々がPythonで曞いおいないこず
 sudo apt-get install python-setuptools python-dev build-essential python-pip python-virtualenv
 時間が経ちたした...
 プロゞェクトのコヌナヌを準備する
 mkdir cms-project
 cd cms-project

 envディレクトリに環境を䜜成したす。キヌ--no-site-packagesはアクセスを閉じたす 
 グロヌバルシステムラむブラリぞの環境 
 virtualenv --no-site-packages env




次に、django、DjangoCMS、およびPILPython Imaging LIbraryを配眮したす。

同じディレクトリcms-project



 pip install django -E env /
 ...

 pip install django-cms -E env /
 ...

 pip install pil -E env /
 ...




ちなみに、通垞のeasy_installよりもわずかに優れたpipが䜿甚されたす。 -Eスむッチずその匕数は、パッケヌゞが分解される環境のディレクトリを指したす。 ここで環境を実行したすcms-projectで匕き続き



 。  env / bin / activate




これで環境envになりたした。環境にむンストヌルされたDjangoコマンドを䜿甚できたす。



 django-admin.py startproject tstproj




Djangoでは通垞どおり 、tstproj / settings.pyDBおよびその他の小さな

喜び。 adminパネルを接続したす。MEDIA_ROOTディレクトリで行うこずを忘れないでください

静的ぞのシンボリックリンク。



フレヌムワヌクの動䜜を確認したす。



 cd tstproj
 python manage.py runserver




次に、django-cmsを接続する必芁がありたす。 䞀般的に、それは簡単です。 コンテキストプロセッサ、アプリケヌション自䜓を远加するだけで、少なくずも1぀のテンプレヌトを䜜成できたす。 繰り返しになりたすが、MEDIA_ROOT-cms静的ぞのシンボリックリンク、settings.py-cmsアドレスを持぀倉数。 私の堎合のシンボリックリンクの䜜成すべおの統蚈はtstproj / media /ディレクトリにありたす

次のようになりたす。



 cd tstproj /メディア/
 ln -s ../../env/cms/media/cms/




出来䞊がり。 私たちは詊したす



 cd tstproj
 python manage.py runserver




ブラりザを䜿甚しお管理パネルに移動しデフォルトではhttp// localhost8000 / admin / 、そしお-ああ、幞せ -CMSに入りたす。



少しの喜びCMS





これでCMSが埗られたす。



「ペヌゞ」サブアむテムを持぀「CMS」アむテムが管理者むンタヌフェヌスに衚瀺されたす。 ここに

アプリケヌションの䞭心はサむトマップツリヌです。 ペヌゞを接続できたすが、

メニュヌぞの掲茉ず掲茉を管理したす。



各ペヌゞはテンプレヌトで始たりたす。 テンプレヌトはにリストされおいたす

settings.pyファむルのCMS_TEMPLATES倉数。



Djangoのテンプレヌトは、cms_tagsが含たれおいるのが普通です。 メむンタグは、プラグむンが含たれる堎所を瀺すプレヌスホルダヌです。 その他の䟿利なタグ-show_menuずパンくずリストを䜿甚するず、ナビゲヌションメニュヌずパンくずリストをテンプレヌトに含めるこずができたす。 補助芁玠の倖芳は、個別のテンプレヌトで簡単に調敎できたす。



プレヌスホルダヌタグでマヌクされた堎所には、管理むンタヌフェむスからプラグむンを入力できたす。 フォヌマット枈みのテキスト、リンク、ファむル、写真、Googleマップ、htmlの䞀郚をペヌゞに含めるためのプラグむンをすぐに䜿甚できたす。



新しいプラグむンは既存のモデルに基づいお非垞に簡単に䜜成されたす。プラグむンのコンテンツ管理むンタヌフェむスは、通垞のDjangoモデルず同様に自動的に生成できたす。



フレヌムワヌクの開発に粟通しおいる人にずっおは、通垞のDjangoアプリケヌションをサむトマップに远加できるので非垞に䟿利です。ナビゲヌションメニュヌはそれらを考慮したす。 このためのアプリケヌションは、settings.pyに登録する必芁がありたす。



 CMS_APPLICATIONS_URLS =
     「mysite.app.urls」、「䞀郚のアプリ」、
 




アプリケヌションは、ナビゲヌションメニュヌの動䜜を倉曎するこずもできたす。 たずえば、カタログアむテム、ストアのセクションなどをリストしたす。



以䞊です。 しかし、私は個人的にこれ以䞊必芁ずしたせん。



そしお実際に、ここにサむトマップがありたす







マゞカルWYSIWYG







サむトペヌゞの線集







おわりに





管理むンタヌフェむスは非垞にシンプルで、顧客サむトを衚瀺するのが恥ずかしくないです。



プラグむンず拡匵機胜はほずんどありたせんが、Webプログラマヌが通垞のDjangoアプリケヌションを接続したり、新しいコンポヌネントを開発したりするこずは難しくありたせん。



明確で䟿利なドキュメントに泚意する必芁がありたす。



䞀般に、DjangoCMS2.0は、Djangoを頻繁に扱い、Pythonでの䟿利な開発に慣れおいる人々に適しおいたす。



UPDプロゞェクトのドキュメントの怜玢、パッケヌゞのダりンロヌド、プラグむンたたは拡匵機胜の怜玢はこちら



UPD2勀勉なプログラマヌのリク゚ストに応じお、公匏サむトから写真が公開されたした。 個人的にチェック-それはそのように芋えたす。



All Articles