ccnmtldjango egy Paste Template hogy használjuk cserélned az alap django-admin.py startproject parancsot.
Ez nem azonos alapvető feladata felállításáról könyvtárának szerkezete Django app, de ez is kiterjesztették, hogy végre egy csomó CCNMTL adott funkcionalitást és konfiguráció.
Mit nyújt számunkra, hogy startproject nem:
- Django Wind (a Django híd Columbia központi auth szolgáltatás - http://www.jasig.org/cas/deployments/columbia-university) tartalmazza alapértelmezetten így a apps használhatja szél auth automatikusan. Azaz bárki, aki egy Columbia UNI alapértelmezés lesz egy fiókot. A CCNMTL fejlesztő Unis automatikusan létre felettes, valamint a csoport Partnerprogramban, hogy CCNMTL munkatársai valamennyien lesz automatikusan leképezve személyzet. Ezek általában hasznos defaults számunkra.
- Virtualenv és pip beállítás forrás tarballs csomagban és bootstrappable, manage.py a kocsma állítva használni. Ez alapvetően illeszkedik ez a mi egylépéses automatikus telepítési és elszigetelési megközelítést.
- Sorl.thumbnail (egy praktikus dandy kép thumbnailing könyvtár) alapértelmezés szerint tartalmazza
- Flatpages engedélyezve
- Beállítások osztani dev / prod
- Apache / django.wsgi beállítva
- Minta apache config mod_wsgi beállítást egy virtuális környezet (mindent áramvonalas, hogy mi is csak a szimbolikus linket a generált apache config fájlt a gyártásban szerver / etc / apache / sites-enabled / könyvtárba, és ez jó, hogy menjen)
- Media könyvtárat találsz dev, termé beállítva
- Smartif tartalmazza (https://github.com/thraxil/django-smartif/tree/master)
- Template_utils tartalmazza (http://code.google.com/p/django-template-utils/), valamint feedparser, amely attól függ, hogy a takarmány
- Django-typogrify tartalmazza (http://code.google.com/p/typogrify/) együtt smartypants.py (általa használt)
- Django-Sentry tartalmazza (https://github.com/dcramer/django-sentry) és beállította a mi beállítási
- Django-munin tartalmazza (https://github.com/ccnmtl/django-munin)
- Dél szerepel az adatbázisban vándorlások
- Django-idegesítő tartalmazza (szeretemrender_to)
- Django-orr telepíteni és beállítani, mint tesztet futó (sokkal szebb!)
- SQLite-memória adatbázis, mely a unit tesztek
- Dél-tesztek automatikusan kimarad a ./manage.py teszt (törnek)
- Django_compressor hozzá, és létre kell tömöríteni css termelési
- Uuid.py
- JQuery (1.4.2, minified) tartalmazza
- Hs.js
- Tabber.js
- Widget.js
- Tablesort.js
- Szükséges CSS a fenti js könyvtárak benne van a site.css alapértelmezés
- Alap sablonokat tartalmaz
- Django admin engedélyezett (és hitelesítve szél TLC)
- Restclient
- Httplib2
- Imageuploader
- Árleszállítás tartalmazza, és lehetővé tette
- Adatbázis alapértelmezetten PostgreSQL (ok MySQL teh szopni)
- Tranzakciós middleware alapértelmezés szerint (ellenkező esetben adatvesztés van teh szopni)
- Timezone szett
- I18n kikapcsolt (mi sajnos egynyelvű. Nincs értelme tagadni)
- PIL
- Psycopg2 (eltávolították a mx.DateTime függőség)
- Szép alapértelmezett sablon design alternatív alap sablonokat több hasábos elrendezés.
Ahhoz, hogy használni ccnmtldjango, meg kell python 2.6+, virtualenv, pip, és egy nemrégiben setuptools telepítve a gépre.
Először is, ha még nem rendelkezik ccnmtldjango telepítve, nem
& Nbsp; easy_install ccnmtldjango
Automatikusan fel kell húzni a szükséges függőségeket (csak PasteScript, ténylegesen).
Futás
& Nbsp; pasztafelkenő létre --list-sablonok
tartalmaznia kell ccnmtldjango
Most, hogy QuickStart a Django projekt csinálni
& Nbsp; pasztafelkenő létre --template = ccnmtldjango myprojectname
myprojectname kell a python modul neve (pl kisbetűs, nincsenek írásjelek, stb). Ez létre fog hozni egy könyvtárat nevű myprojectname, hogy van egy Django projekt benne.
pasztafelkenő még mindig nem csinál semmit, file engedélyeket, így még mindig kézzel kell állítani pár:
& Nbsp; cd myprojectname
& Nbsp; chmod 755 manage.py bootstrap.py
Nem tudtam kitalálni a módját, hogy helyezze véletlenszerű húrok a kódot a Paste Template, így egy dolog, hogy ccnmtldjango hiányzik mint a rendszeres Django startproject az, hogy a SECRET_KEY változó settings_shared.py mindig ugyanaz alapértelmezett. Ez nyilvánvalóan nem jó ötlet, úgyhogy győződjön meg róla, hogy változtatni, hogy egy másik véletlen sorozatot, hogy egyedi lesz a projekt.
Ez talán egy jó pont, hogy ellenőrizze a projektet verzió ellenőrzése.
Az általunk használt elhatárolás a Django is, a virtualenv:
& Nbsp; ./ bootstrap.py
Hogy létrehoz egy ve tartalmazó könyvtárat a virtualenv és volt minden könyvtár a követelmények / src könyvtárba telepített bele (ez magában foglalja a Django magát). A ve könyvtár soha nem szabad bejelentkezett svn mivel ez generált. Ha szüksége van más könyvtárak számára az alkalmazás, batyut őket, mint tarballs és vidd őket a követelmények / src / könyvtárban, add hozzá a követelmények / libs.txt vagy követelmények / apps.txt (attól függően, hogy azok rendszeres python könyvtárak vagy Django apps), majd újra futni ./bootstrap.py.
Ne feledje, hogy a virtualenv, nem kell aktiválni a környezetet. Ehelyett a ve egy bin könyvtár, amely tartalmazza a python futtatható. Ha használni, hogy helyette a rendszer python végrehajtható, akkor használja a könyvtárak, hogy virtualenv.
ccnmtldjango feltételezi, hogy a projekt PostgreSQL adatbázist használunk ugyanazzal a névvel, mint a projekt. Szóval, a mi Például, azt tegye:
& Nbsp; createdb myprojectname
és ez minden készen kell használni:
& Nbsp; ./ manage.py syncdb
telepíti a táblák django igényeit ez a közös alkalmazások (oldalak, ülések, admin, flatpages, stb), és létrehoz egy admin felhasználóra.
A ./manage.py syncdb automágikusan hoz létre "example.com" oldalon. Ez kellene változtatni, hogy a webhely domain (pl localhost: 8000) a kezelői konzolon keresztül. http: // localhost: 8000 / admin / sites / site /. (Ha számít az alkalmazás)
Az alkalmazás üzemképes most:
& Nbsp; ./ manage.py runserver
indul a szerver http: // localhost: 8000 /. Oda fog egy 404 mivel nincs az alkalmazás még, de az admin app hozzáférhetőnek kell lennie (via felhasználói fiók során létrehozott syncdb, vagy azon keresztül szél TLC-felhasználók (vagy azok meghatározott WIND_SUPERUSER_MAPPER_GROUPS lista settings_shared.py ). Így megy előre, és jelentkezzen be a http: // localhost: 8000 / admin /
Akár hivatalból egyedi kódot, flatpages van ellátva, így nem tud tartalmat az interneten azonnal.
Ettől a ponttól ki, ez az alapvető Django fejlesztés. Akkor érdemes csinálni egy ./manage.py startapp, hogy saját alkalmazást a projektben, és így tovább.
Felállításáról friss Pénztár
Amikor először nézd meg egy meglévő ccnmtl-sablon projekt svn / git:
& Nbsp; ./ bootstrap.py
./manage.py runserver
Különbségek a standard Django install
Nyilvánvaló, hogy egy csomó könyvtárak és így adtak, és ott van az egész virtualenv dolog. Vannak is számos ponton különbözik a normál Django projekt (azaz, az eredmény a django-admin.py startproject), hogy ha kell awayre az.
Először is, a beállítások oszlik meg, hogy dev, termé telepítések egyszerűbb beállítani. A rendszeres Django telepíteni lesz egy settings.py fájlt, amely tartalmazza az összes beállítást. Django fejlesztők általában másolni, hogy a beállítások fájlból és annak módosítása telepítésekor a termelést. ccnmtldjango kihasználja azt a tényt, hogy a beállítások csak python kódot, és lehet behozni, és felülbírálni. Tehát van egy settings_shared.py amely a legtöbb beállítás. settings.py (amelyet fel kell használni a fejlesztés) és settings_production.py majd importálja mindent a settings_shared.py. settings_production.py akkor is felülírja a beállításokon kell más a termelés beindítását (általában utakat sablonok és a média fájlok).
TransactionMiddleware alapértelmezés szerint engedélyezve van. Ez azt jelenti, hogy minden HTTP kérést kap egy ügylet, amely véglegesíti, vagy vissza a végén a kérést. Az alapértelmezett beállítás Django valamilyen okból nem a dolgok "autocommit" stílusban, ahol minden adatbázis művelet fut a saját tranzakciós, független a HTTP kérést.
A másik nagy különbség, hogy tisztában van a felső szintű sablonok könyvtárba. Normál Django eljárás az, hogy a sablonok könyvtár minden alkalmazást a projektre, amelyben a sablonokat, ezt a kérelmet. ccnmtldjango van a felső szintű sablonok könyvtár egy pár oka. Először is, mivel papírral, csak akkor hoz létre a projektek szintjén, illetve nem alkalmazására könyvtárak, ez volt az egyetlen módja annak, hogy ez magában foglalja az alapértelmezett base.html, admin / login.html, regisztráció / login.html és így tovább. Én is, mint azt a megközelítést, amely a projekt szintű sablonok könyvtárba, különösen a base.html sablont. Django lehetővé teszi több sablonkönyvtárakat és megkeresi azokat a kiszámítható érdekében, így (és valószínűleg meg) még mindig olyan alkalmazás szintjén sablonkönyvtárakat, sorolja fel a TEMPLATE_DIRS megelőzve a projekt szintű, és felülbírálja sablonok kívánt azokban.
I18N ki van kapcsolva, mert ez elég ritka, hogy mi többnyelvű cucc, és ez a teljesítmény hit, hogy ez lehetővé tette, ha nem használják. Ha meg kell csinálni egy többnyelvű Django helyén, csak engedélyezze újra, és lásson munkához.
követelmények :
- Python
Hozzászólás nem található