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ã®äžçãæ¢çŽ¢ããããšã«ããŸããã
ããã§ã®éžæã¯æ¬¡ã®ãšããã§ããããšãå€æããŸããã
- 軜éãã©ããããŒãž
- ããèŠèŠããPyLucid
- æè»ãªæ©èœ
- çŽ æŽããããµã€ããšæ確ãªããã¥ã¡ã³ããåããDjangoCMS
ããã«äœ¿çšã§ãã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ïŒå€åãªããã°ã©ããŒã®ãªã¯ãšã¹ãã«å¿ããŠãå ¬åŒãµã€ãããåçãå ¬éãããŸããã å人çã«ãã§ãã¯-ããã¯ãã®ããã«èŠããŸãã