Redsolution CMS: рдЖрдкрдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢

рдЕрдВрддрд┐рдо рдЧрд┐рд░рд╛рд╡рдЯ, рд╣рдордиреЗ рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ - RedsolutionCMS ред рдЧрд▓рдд рдирд╛рдо рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╛рд╕, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдХрд┐рд╕реА рднреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдореВрд▓ рдореЗрдВ, RedsolutionCMS, Django рдкрд░ рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рддреИрдирд╛рддреА рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдгрд╛рд▓реА рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рд╣рдорд╛рд░реЗ em рдХреЗ рд╕рднреА рд▓рд╛рднреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ ... RedsolutionCMS :)
рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░рд╛ рд╕рд┐рд╕реНрдЯрдо рдореЙрдбреНрдпреВрд▓рд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕рдореЗрдВ рдПрдХ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред рдПрдХ рдЙрджрд╛рд╣рд░рдг django-photologue рд╣реЛрдЧрд╛ - рдХрд┐рд╕реА рд╕рд╛рдЗрдЯ рдкрд░ рдлреЛрдЯреЛ рдЧреИрд▓рд░реА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбреНрдпреВрд▓ред Cutscene рдХреЗ рддрд╣рдд рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЛ рд▓рд┐рдЦрдиреЗ рдФрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╣реИ (рдпрд╣ рдПрдХ рдлрд╝реЛрдЯреЛрдЧреНрд░рд╛рдлрд╝ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред


рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрджред рдпрд╣ django рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдлреЛрдЯреЛ рдЧреИрд▓рд░реА рд╣реИред рдЗрд╕рдХрд╛ рдПрдХ рд▓рд╛рдн рдпрд╣ рд╣реИ:

рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓:


рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:


рднрд╛рдЧ 1. рдореИрдиреБрдЕрд▓ рд╕реНрдерд╛рдкрдирд╛


рдлреЛрдЯреЛрд▓реЙрдЧреВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд django_photologue
рддрдм рдЖрдкрдХреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ - рдереНрд░реВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ urls.py рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:
INSTALLED_APPS += [ # ...other installed applications, 'photologue', ] urlpatterns += patterns('', (r'^photologue/', include('photologue.urls')), ) 

рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЖрд░рдВрднреАрдХреГрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдлрд╝реЛрдЯреЛрд▓реЙрдЧ рдХреЛ рдЖрд░рдореНрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛:
python manage.py plinit
рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдФрд░ рдЙрдирдХреЗ рдердВрдмрдиреЗрд▓ рд╕реЗрдЯ рдХрд░рдиреЗ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред

рднрд╛рдЧ 2. рдЗрдВрд╕реНрдЯреЙрд▓рд░ рд▓рд┐рдЦрдирд╛


рдЕрдм django-photologue рдореЙрдбреНрдпреВрд▓ рдХреЛ Redsolution CMS рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
рдирд┐рдореНрди рдлрд╝рд╛рдЗрд▓ рдЯреНрд░реА рдмрдирд╛рдПрдБ:

django-photologue # рдпрджрд┐ рдореЙрдбреНрдпреВрд▓ (django-photologue) рдЕрднреА рддрдХ PyPI рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред
рдЪреВрдБрдХрд┐ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдФрд░ рдмрдирд╛рдП рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдкрд░ url рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝реЗ рдЬрд╛рдПрдВред settings.pyt рдФрд░ urls.pyt рдлрд╛рдЗрд▓реЗрдВ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдХреЛрдб рдХреА рд▓рд╛рдЗрдиреЗрдВ рд╕реАрдзреЗ рдирд┐рдХрд╛рд▓реА рдЬрд╛рддреА рд╣реИрдВ рдФрд░ settings.py рдФрд░ urls.py рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдлрд╝рд╛рдЗрд▓:
make.py:
 from redsolutioncms.make import BaseMake class Make(BaseMake): def make(self): super(Make, self).make() cms_settings.render_to('settings.py', 'settings.pyt', {}) cms_settings.render_to('urls.py', 'urls.pyt', {}) make = Make() 

рдЬрд╣рд╛рдБ
cms_settings.render_to (file_name, template_name, рд╢рдмреНрджрдХреЛрд╢ = рдХреЛрдИ рдирд╣реАрдВ, рдореЛрдб = 'рдП +')
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓_рдирд╛рдо рдХреЗ рдЕрдВрдд рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ
рдкреИрд░рд╛рдореАрдЯрд░:

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдИ рдЧрдИ рд╕реЗрдЯрд┐рдВрдЧред Pyt рдФрд░ urls.pyt рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд рдЬрдВрдЧ рдкреИрдЯрд░реНрди рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпреЗ рдлрд╛рдЗрд▓реЗрдВ рдХрд╛рдлреА рдХрдо рд╣реЛрдВрдЧреА:
settings.pyt:
 # ---- photologue ---- INSTALLED_APPS += ['photologue'] 

urls.pyt:
 #----- Photologue urls ---- urlpatterns += patterns('', (r'^photologue/', include('photologue.urls')), ) 


рднрд╛рдЧ 3. рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ


рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╣рдо рдкреНрд▓рдЧ-рдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред
MANIFEST.in - рдореАрдбрд┐рдпрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓:
рдкреБрдирд░рд╛рд╡рд░реНрддреА-рд╢рд╛рдорд┐рд▓ redsolution_setup / рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ * .pyt
setup.py рдПрдХ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдлрд╛рдЗрд▓ рд╣реИ рдЬреЛ рдкреИрдХреЗрдЬ, рдбреЗрд╡рд▓рдкрд░, рд▓рд╛рдЗрд╕реЗрдВрд╕, рдлрд╛рдЗрд▓ рдЖрджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдореЗрдЯрд╛-рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдореЙрдбреНрдпреВрд▓ рдореЗрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЖрдкрдХреЛ "рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдореЙрдбреНрдпреВрд▓ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реАрдПрдордПрд╕ рд╕рдордЭреЗрдВ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдП:
 setup( ... entry_points={ 'redsolutioncms': ['photologue = redsolution_setup', ], }, ... ) 

рдЕрдм рд╣рдо PyPI рдореЗрдВ рдкрд░рд┐рдгрд╛рдореА рдореЙрдбреНрдпреВрд▓ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ PyPI рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рдЬрд╛рдПрдВ, redsolutioncms_photologue, рдФрд░ рдЯрд╛рдЗрдк рдХрд░реЗрдВ:
рдЕрдЬрдЧрд░ setup.py рд░рдЬрд┐рд╕реНрдЯрд░
рдлрд┐рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рд╛рдЗрдЯ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ:
python setup.py sdist рдЕрдкрд▓реЛрдб
рдЕрдм рджреВрд╕рд░реЗ рдкреЗрдЬ рдкрд░ Redsolution CMS рдореЗрдВ, рдЬрдм рдЖрдк рдХрд┐рд╕реА рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдлрд╝реЛрдЯреЛрд▓реЙрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдмрдзрд╛рдИ!


Source: https://habr.com/ru/post/In123013/


All Articles