ccnmtldjango biz standart django-admin.py startproject komanda əvəz etmək üçün istifadə bir Paste Şablon edir.
Bu Django app üçün kataloq strukturu yaradılması eyni əsas vəzifəsi yoxdur, lakin CCNMTL xüsusi funksionallıq və konfiqurasiya bir çox həyata uzadıldı.
Nə bizim üçün təmin edir ki, startproject deyil:
- Django Wind (Columbia mərkəzi İcazə xidmət Django körpü - http://www.jasig.org/cas/deployments/columbia-university) daxil və bizim apps avtomatik olaraq İcazə üçün WIND istifadə edə bilərsiniz ismarıcları yapılandırılmış. Yəni, default tərəfindən Columbia UNI ilə hər kəs bir haqq-hesab olacaq. CCNMTL geliştirici Unis avtomatik superusers kimi qurmaq və CCNMTL heyəti bütün avtomatik heyəti eşlenen olur ki, qrup affil olunur. Bu, bizim üçün, ümumiyyətlə, faydalı u mənim var.
- Virtualenv və mənbə hediye tarballs və bootstrappable, istifadə üçün müəyyən manage.py nin shebang ilə tırtıl quraşdırma. Bu əsasən bizim bir addım avtomatlaşdırılmış yerləşdirilməsi və saxlanılmasına yanaşma onu uyğun.
- Sorl.thumbnail (lazımlı modabaz image thumbnailing kitabxana) ismarıcları daxil edilir
- Flatpages effektiv
- Ayarlar dev / prod üçün split
- Apache / django.wsgi konfiqurasiya
- Virtual Ortamlarda istifadə mod_wsgi quraşdırma üçün nümunə apache config (biz daxil yaradılan apache konfiqurasiya faylını yalnız symlink bilər ki, hər şey lazımlı bizim istehsal server in / etc / apache / sites effektiv / kataloq və getmək üçün yaxşı)
- Dev və prod üçün media dirs konfiqurasiya
- Smartif daxil (https://github.com/thraxil/django-smartif/tree/master)
- Template_utils bu feed heyəti üçün asılıdır (http://code.google.com/p/django-template-utils/), eləcə də feedparser, daxil
- Django-typogrify (http://code.google.com/p/typogrify/) smartypants.py ilə yanaşı (bu istifadə edən) daxil
- Django-keşikçi daxil (https://github.com/dcramer/django-sentry) və quraşdırma üçün yapılandırılmış
- Django-Munin daxil (https://github.com/ccnmtl/django-munin)
- Cənubi bazası miqrasiya üçün daxil edilir
- Django-annoying daxil edilir (Irender_to kimi)
- Django-burun quraşdırılmış və test runner kimi qurmaq (çox gözəl)
- Verilənlər bazası vahid test üçün istifadə in-yaddaş SQLite
- Cənub testlər avtomatik ./manage.py test atlandı (onlar qırmaq)
- Django_compressor əlavə və istehsalı üzrə css kompres qurmaq
- Uuid.py
- Daxil jQuery (1.4.2, minified)
- Hs.js
- Tabber.js
- Widget.js
- Tablesort.js
- Yuxarıda js kitabxanalar üçün tələb olunan CSS ismarıcları site.css daxil edilir
- Baza şablonları daxil
- Django admin aktiv (və TLC üçün külək ilə təsdiq)
- Restclient
- Httplib2
- Imageuploader
- Markdown daxil və effektiv
- Verilənlər bazası PostgreSQL öndeğer (səbəb MySQL teh əvvəl deyil)
- Default effektiv əməliyyat middleware (səbəb data korrupsiya teh əvvəl deyil)
- Saat zolağını set
- I18n (təəssüf ki dilli heç bir mənada bunu inkar edir.) Söndürüldükdə
- PIL
- Psycopg2 (onun mx.DateTime asılılıq lüt)
- Multi-sütun layout üçün alternativ baza şablonları ilə gözəl default şablon dizayn.
Ccnmtldjango istifadə etmək üçün, python 2.6+, virtualenv, DİP və maşın yüklü son setuptools lazımdır.
Siz ccnmtldjango yüklü artıq əgər Birincisi, nə
& Nbsp; easy_install ccnmtldjango
Avtomatik olaraq (həqiqətən, yalnız PasteScript) lazım bağımlılıkları ilə çəkmək lazımdır.
Running
& Nbsp; paster --list-şablon yaratmaq
ccnmtldjango daxil olmalıdır
İndi, bir Django layihə quickstart, nə
& Nbsp; paster yaratmaq --template = ccnmtldjango myprojectname
myprojectname bir python modul adı (yəni, kiçik, heç bir durğu, və s) olmalıdır. Bu bir Django layihə var ki, bir kataloq adlı myprojectname yaradacaq.
paster hələ fayl icazələrin ilə bir şey deyil, belə ki, biz hələ əl bir neçə müəyyən lazımdır:
& Nbsp; cd myprojectname
& Nbsp; 755 manage.py bootstrap.py chmod
Mən Paste Şablon vasitəsilə kodu daxil təsadüfi strings əlavə etmək üçün bir yol anlamaq bilməz, belə ki, müntəzəm Django startproject ilə müqayisədə itkin ccnmtldjango bir şey settings_shared.py ilə SECRET_KEY dəyişən həmişə eyni default edir. Bu aydın yaxşı bir fikir deyil, belə ki, sizin layihə üçün unikal olacaq ki, bəzi digər təsadüfi string dəyişdirmək əmin olun.
Bu yəqin ki, versiyası nəzarət layihənin yoxlamaq üçün yaxşı bir nöqtəsidir.
Biz virtualenv ilə də Django üçün saxlanılmasına istifadə edin:
& Nbsp; ./ bootstrap.py
Bu (bu Django özü daxildir) bir virtualenv var və onu yüklü tələblər / src kataloq bütün kitabxana var kataloq ve yaradacaq. Bu ki, yaradılan etibarən kataloq svn daxil yoxlanılır edilə bilməz etdik. Sizin tətbiqi üçün digər kitabxana ehtiyac varsa, (onlar müntəzəm python kitabxana və ya Django olub asılı olaraq tarballs kimi qablamaq və tələblər / src / kataloq onları buraxın, tələblər / libs.txt və ya tələblər / apps.txt əlavə apps) sonra ./bootstrap.py run edirik.
Virtualenv ilə bir mühit aktivləşdirmək üçün heç bir ehtiyac yoxdur ki, unutmayın. Bunun əvəzinə, ve bir python çalıştırılabilir olan bir bin kataloq var. Ki, əvəzinə sistem python yürütülebilir istifadə, o virtualenv olan kitabxana istifadə edir.
ccnmtldjango layihə layihə eyni adı ilə bir postgresql verilənlər bazası istifadə edəcək ki, nəzərdə tutur. Belə ki, məsələn, sonra edəcəyini:
& Nbsp; createdb myprojectname
və bütün istifadə üçün müəyyən edilir:
& Nbsp; ./ manage.py SyncDB
Bu (s sites, sessiyalar, admin, flatpages) ümumi apps var olan ehtiyacı Django və bir admin istifadəçi yaratmaq ki, masalar bərpa edəcək.
./manage.py SyncDB automagically bir "example.com" saytına yaradır. Admin konsol vasitəsilə: (8000 məsələn, localhost) Bu site etki dəyişdirilməlidir. http: // localhost: 8000 / admin / sites / site /. (Sizin tətbiqi üçün məsələ varsa)
Sizin proqram artıq çalıştırmak üçün hazır deyil:
& Nbsp; ./ manage.py runserver
// localhost: 8000 / http server başlayacaq. Orada proqram heç bir şey hələ var, lakin admin app siz SyncDB zamanı yaradılmış istifadəçi hesabı vasitəsilə və ya settings_shared.py da WIND_SUPERUSER_MAPPER_GROUPS siyahıda göstərilən tlc istifadəçilər (və ya olanları WIND vasitəsilə (əlçatan olmalıdır ildən bir 404 var verəcək Going .) Belə ki, davam və http daxil: // localhost: 8000 / admin /
Hətta hər hansı bir proqram xüsusi kodu olmadan hemen web content qoya bilər, belə ki, flatpages daxil edilir.
Bu baxımdan həyata, əsas Django inkişafı. Siz yəqin ki, öz proqram layihəsi çərçivəsində və s yaratmaq üçün ./manage.py Startapp etmək lazımdır.
Təzə checkout qurulması
ilk dəfə svn / git olan bir ccnmtl-şablon layihə kontrol:
& Nbsp; ./ bootstrap.py
./manage.py runserver
standart Django olan fərqlər yüklemek
Aydındır ki, kitabxanaların dəstə və əlavə edilmiş və bütün virtualenv şey var. Siz awayre olmalıdır standart Django layihə (yəni, django-admin.py startproject nəticə) bəzi fərqlər var.
Birincisi, parametrləri konfiqurasiya dev və prod applications daha asan parçalamaq edilmişdir. Yüklemek növbəti Django bütün ayarları olan bir settings.py fayl var. Django developers adətən parametrləri fayl kopya və istehsal yerləşdirilməsi zaman dəyişikliklər edəcək. ccnmtldjango parametrləri yalnız python kodu və idxal və overridden ola bilər ki, istifadə edir. Beləliklə, biz parametrləri çox olan bir settings_shared.py var. (inkişafı üçün istifadə edilə bilər) və sonra settings_shared.py olan hər şeyi idxal settings_production.py settings.py. settings_production.py sonra da istehsal yerləşdirilməsi (şablonları və media faylları adətən yolları) müxtəlif olmalıdır hər hansı parametrləri yalnış düçar edər.
TransactionMiddleware default effektiv edir. Bu hər bir HTTP sorğu öhdəliyini və ya sorğunun sonunda geri rulonlarda əməliyyat olur ki, deməkdir. nədənsə default Django quraşdırma HTTP sorğu müstəqil hər bazası əməliyyat öz əməliyyat çalışır şeyi "autocommit" üslubunda, yoxdur.
digər böyük fərq üst səviyyə şablonları kataloq edir xəbərdar olmaq. Standard Django proseduru ki, ərizə üçün şablon var layihə hər bir proqram bir şablonları kataloq var. ccnmtldjango bir neçə səbəblərə görə üst səviyyə şablonları kataloq var. Paster yalnız layihə səviyyəsində kataloq və tətbiqi dizinleri yaradır-ci ildən Birincisi, bu, bir-u mənim base.html, admin / login.html qeydiyyatı / login.html və daxil üçün yalnız bir yol idi. Mən də yalnız xüsusilə base.html şablon üçün bir layihə səviyyəli şablonları kataloq olan yanaşma kimi. Django müəyən üçün onların vasitəsilə bir çox şablon rehberler ve axtarış imkan verir, belə ki, siz (və yəqin ki, olmalıdır) hələ, proqram səviyyəli şablon rehberler yaratmaq irəli Layihə səviyyəsində bir TEMPLATE_DIRS onların siyahısını və bu istədiyiniz hər hansı şablonları yalnış düçar edər.
I18n biz çox dilli məhsulları ki, kifayət qədər nadir ildən söndürüldükdə və onu istifadə edilmir əgər effektiv edib bir performans var edir. . Bir çox dilli Django site nə etmək lazımdır, yalnız yeniden etkinleştirmek və iş almaq
tələblər
- Python
Şərhlər tapılmadı