fazla şeyi yapıyor anlamına gelir. Bu durumda uygulamanızı parçalayıp uygulama başına düşen model sayısını da azaltmanız önerilir. Chapter 6: Model Best Pratices !14
Migration'lar proje kapsamında "db/migrate" altında • Tesler'ler projre kampsamında "test/" altında • Management komutları: "Rakefile" / Rake Task * !25
DJANGO_ENV variable! via export DJANGO_ENV= ..." unless ENV['DJANGO_ENV'] end task :check_development_environment => [:check_django_environment] do abort "Set DJANGO_ENV to development" unless ENV['DJANGO_ENV'] == 'development' end desc "Run server" task :run_server => [:check_development_environment] do system "DJANGO_COLORS='dark' python manage.py runserver_plus --nothreading" end !27
Kolay model/view/template üretebilsem ... • Rails'deki "routes" gibi "urls.py" ı yönetsem ... • Rails'deki gibi proje yapısı olsa tek yerden erişsem ... • Temel bir modelim olsa, olmazsa olmaz field'ları barındırsa ... • Ortama göre paketleri düzenleyebilsem? (dev.pip, prod.pip ...) • Sık kullandığım paketler içinde olsa ...(django-debug-toolbar gibi) • Diğer yaptığım ve hep kullandığım tool'cuklarım da içinde olsa ... !28
BaseModel ve BaseModelWithSoftDelete * modelleri • Yeni proje dosya/dizin yapısı • Ortam ve paket izolasyonu • App ve Model üretmek için Rake task'leri (Management Commands) !30
(Management Commands) • Sadeleştirilmiş development logger • Debug için (console ve html seviyesinde) araçlar • Admin için yardımcı Widget'lar ve Storage • bulma.io entegrasyonu !31
konfigürasyonu • Gelişmiş REPL desteği (ipython/ bpython) - django-extensions ==2.1.6 • Hazır LOCALE sözlük çatısı • CustomLocaleMiddleware ile kolay i18n • HEROKU'ya hızlı deploy ... !32
Run migration for given database (default: 'default') rake db:roll_back[name_of_application,name_of_migration] # Roll-back (name of application, name of migration) rake db:shell # run database shell .. rake db:show[name_of_application] # Show migrations for an application (default: 'all') rake db:update[name_of_application,name_of_migration,is_empty] # Update migration (name of application, name of migration?, is empty?) rake locale:compile # Compile locale dictionary rake locale:update # Update locale dictionary rake new:application[name_of_application] # Create new Django application rake new:model[name_of_application,name_of_model,type_of_model] # Create new Model for given application: django,basemodel,softdelete rake run_server # Run server rake shell[repl] # Run shell+ avail: ipython,bpython default: ipython rake test:browse_coverage[port] # Browse test coverage rake test:coverage[cli_args] # Show test coverage (default: ' --show-missing --ignore-errors --skip-covered') rake test:run[name_of_application,verbose] # Run tests for given application !37
Target specific migration: 0004_add __staff __to_program, from core Running migrations: Rendering model states ... DONE Unapplying core.0006_add_duty_to_person_and_title_is_nullable ... OK Unapplying core.0005_fix_person ... OK !39
Target specific migration: 0006_add_duty_to_person_and_title_is_nullable, from core Running migrations: Applying core.0005_fix_person ... OK Applying core.0006_add_duty_to_person_and_title_is_nullable ... OK !41