├── .gitignore
├── Chapter01
├── Activity1.01
│ ├── bookr
│ │ └── urls.py
│ └── reviews
│ │ ├── templates
│ │ └── base.html
│ │ ├── tests.py
│ │ └── views.py
├── Activity1.02
│ ├── bookr
│ │ └── urls.py
│ └── reviews
│ │ ├── templates
│ │ └── search-results.html
│ │ ├── tests.py
│ │ └── views.py
├── Exercise1.01
│ └── bookr
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── manage.py
│ │ └── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── migrations
│ │ └── __init__.py
│ │ ├── models.py
│ │ ├── tests.py
│ │ └── views.py
├── Exercise1.03
│ └── bookr
│ │ ├── bookr
│ │ └── urls.py
│ │ └── reviews
│ │ ├── tests.py
│ │ └── views.py
├── Exercise1.04
│ └── bookr
│ │ └── reviews
│ │ ├── tests.py
│ │ └── views.py
├── Exercise1.05
│ └── bookr
│ │ ├── bookr
│ │ └── settings.py
│ │ └── reviews
│ │ ├── templates
│ │ └── base.html
│ │ └── tests.py
├── Exercise1.06
│ └── bookr
│ │ └── reviews
│ │ ├── tests.py
│ │ └── views.py
├── Exercise1.07
│ └── bookr
│ │ └── reviews
│ │ ├── templates
│ │ └── base.html
│ │ ├── tests.py
│ │ └── views.py
├── Exercise1.08
│ └── bookr
│ │ └── reviews
│ │ ├── tests.py
│ │ └── views.py
└── final
│ └── bookr
│ ├── bookr
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
│ ├── db.sqlite3
│ ├── manage.py
│ └── reviews
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ └── __init__.py
│ ├── models.py
│ ├── templates
│ ├── base.html
│ └── search-results.html
│ ├── tests.py
│ └── views.py
├── Chapter02
├── Activity2.01
│ └── juggler
│ │ ├── juggler
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── manage.py
│ │ └── projectm
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── 0002_auto_20200108_1834.py
│ │ ├── 0003_auto_20200108_1858.py
│ │ └── __init__.py
│ │ ├── models.py
│ │ ├── tests.py
│ │ └── views.py
├── Exercise2.02
│ └── exercise2.02.py
├── Exercise2.03
│ └── exercise2.03.py
├── Exercise2.04
│ └── exercise2.04.py
├── Exercise2.05
│ └── exercise2.05.py
├── Exercise2.06
│ └── exercise2.06.py
├── Exercise2.07
│ └── exercise2.07.py
├── Exercise2.08
│ └── exercise2.08.py
├── Exercise2.09
│ └── exercise2.09.py
├── Exercise2.10
│ └── exercise2.10.py
├── Exercise2.11
│ └── exercise2.11.py
├── Exercise2.12
│ └── exercise2.12.py
├── Exercise2.13
│ └── exercise2.13.py
├── Exercise2.14
│ └── exercise2.14.py
└── final
│ ├── __init__.py
│ └── bookr
│ ├── __init__.py
│ ├── bookr
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
│ ├── manage.py
│ └── reviews
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── management
│ ├── __init__.py
│ └── commands
│ │ ├── WebDevWithDjangoData.csv
│ │ ├── __init__.py
│ │ └── loadcsv.py
│ ├── migrations
│ ├── 0001_initial.py
│ └── __init__.py
│ ├── models.py
│ ├── templates
│ ├── base.html
│ └── search-results.html
│ ├── tests.py
│ └── views.py
├── Chapter03
├── Activity3.01
│ └── bookr
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── manage.py
│ │ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ └── search-results.html
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
├── Exercise3.01
│ └── bookr
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── manage.py
│ │ └── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── management
│ │ └── commands
│ │ │ ├── WebDevWithDjangoData.csv
│ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── 0002_auto_20191007_0112.py
│ │ ├── 0003_auto_20191227_0751.py
│ │ └── __init__.py
│ │ ├── models.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ └── views.py
├── Exercise3.02
│ └── bookr
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── manage.py
│ │ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
├── Exercise3.03
│ └── bookr
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── manage.py
│ │ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ └── books_list.html
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
├── Exercise3.04
│ └── bookr
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── manage.py
│ │ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── books_list.html
│ │ │ │ └── search-results.html
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
└── final
│ └── bookr
│ ├── bookr
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
│ ├── manage.py
│ └── reviews
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── management
│ ├── __init__.py
│ └── commands
│ │ ├── WebDevWithDjangoData.csv
│ │ ├── __init__.py
│ │ └── loadcsv.py
│ ├── migrations
│ ├── 0001_initial.py
│ └── __init__.py
│ ├── models.py
│ ├── templates
│ └── reviews
│ │ ├── base.html
│ │ ├── book_detail.html
│ │ ├── book_list.html
│ │ └── search-results.html
│ ├── tests.py
│ ├── urls.py
│ ├── utils.py
│ └── views.py
├── Chapter04
├── Activity4.01
│ └── comment8or
│ │ ├── admin.py
│ │ ├── comment8or
│ │ ├── __init__.py
│ │ ├── settings.py
│ │ ├── templates
│ │ │ └── comment8or
│ │ │ │ └── logged_out.html
│ │ └── urls.py
│ │ ├── manage.py
│ │ └── messageboard
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── migrations
│ │ └── __init__.py
│ │ ├── models.py
│ │ ├── tests.py
│ │ └── views.py
├── Activity4.02
│ └── bookr
│ │ └── reviews
│ │ ├── admin.py
│ │ └── models.py
├── CustomisingTheModelClass
│ └── bookr
│ │ ├── admin.py
│ │ ├── bookr
│ │ ├── settings.py
│ │ └── urls.py
│ │ └── reviews
│ │ ├── admin.py
│ │ └── apps.py
├── Exercise4.04
│ └── bookr
│ │ └── reviews
│ │ └── admin.py
├── README
├── SearchBarExcludingGrouping
│ └── bookr
│ │ └── reviews
│ │ └── admin.py
└── final
│ ├── bookr
│ ├── admin.py
│ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ ├── manage.py
│ ├── requirements.txt
│ └── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── management
│ │ └── commands
│ │ │ ├── WebDevWithDjangoData.csv
│ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── 0002_auto_20191007_0112.py
│ │ ├── 0003_auto_20191227_0751.py
│ │ └── __init__.py
│ │ ├── models.py
│ │ ├── templates
│ │ └── reviews
│ │ │ ├── base.html
│ │ │ ├── book_detail.html
│ │ │ ├── book_list.html
│ │ │ └── search-results.html
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ └── comment8or
│ ├── admin.py
│ ├── comment8or
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── templates
│ │ └── comment8or
│ │ │ └── logged_out.html
│ ├── urls.py
│ └── wsgi.py
│ ├── manage.py
│ └── messageboard
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── Chapter05
├── Activity5.01
│ └── bookr
│ │ ├── bookr
│ │ └── settings.py
│ │ ├── reviews
│ │ ├── static
│ │ │ └── reviews
│ │ │ │ └── logo.png
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ └── base.html
│ │ ├── tests.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
├── Activity5.02
│ └── bookr
│ │ ├── bookr
│ │ └── settings.py
│ │ ├── reviews
│ │ └── tests.py
│ │ ├── static
│ │ └── main.css
│ │ └── templates
│ │ └── base.html
├── Activity5.03
│ └── bookr
│ │ ├── reviews
│ │ └── tests.py
│ │ ├── static
│ │ └── logo.png
│ │ └── templates
│ │ └── base.html
├── Exercise5.01
│ └── business_site
│ │ ├── business_site
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── landing
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── migrations
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── static
│ │ │ └── landing
│ │ │ │ └── logo.png
│ │ ├── tests.py
│ │ └── views.py
│ │ └── manage.py
├── Exercise5.02
│ └── business_site
│ │ ├── business_site
│ │ ├── settings.py
│ │ └── urls.py
│ │ ├── landing
│ │ └── tests.py
│ │ └── templates
│ │ └── index.html
├── Exercise5.03
│ └── business_site
│ │ ├── business_site
│ │ └── settings.py
│ │ ├── landing
│ │ └── tests.py
│ │ ├── static
│ │ └── main.css
│ │ └── templates
│ │ └── index.html
├── Exercise5.04
│ └── business_site
│ │ ├── business_site
│ │ └── settings.py
│ │ ├── landing
│ │ └── tests.py
│ │ └── static_production_test
│ │ ├── admin
│ │ ├── css
│ │ │ ├── autocomplete.css
│ │ │ ├── base.css
│ │ │ ├── changelists.css
│ │ │ ├── dashboard.css
│ │ │ ├── fonts.css
│ │ │ ├── forms.css
│ │ │ ├── login.css
│ │ │ ├── responsive.css
│ │ │ ├── responsive_rtl.css
│ │ │ ├── rtl.css
│ │ │ ├── vendor
│ │ │ │ └── select2
│ │ │ │ │ ├── LICENSE-SELECT2.md
│ │ │ │ │ ├── select2.css
│ │ │ │ │ └── select2.min.css
│ │ │ └── widgets.css
│ │ ├── fonts
│ │ │ ├── LICENSE.txt
│ │ │ ├── README.txt
│ │ │ ├── Roboto-Bold-webfont.woff
│ │ │ ├── Roboto-Light-webfont.woff
│ │ │ └── Roboto-Regular-webfont.woff
│ │ ├── img
│ │ │ ├── LICENSE
│ │ │ ├── README.txt
│ │ │ ├── calendar-icons.svg
│ │ │ ├── gis
│ │ │ │ ├── move_vertex_off.svg
│ │ │ │ └── move_vertex_on.svg
│ │ │ ├── icon-addlink.svg
│ │ │ ├── icon-alert.svg
│ │ │ ├── icon-calendar.svg
│ │ │ ├── icon-changelink.svg
│ │ │ ├── icon-clock.svg
│ │ │ ├── icon-deletelink.svg
│ │ │ ├── icon-no.svg
│ │ │ ├── icon-unknown-alt.svg
│ │ │ ├── icon-unknown.svg
│ │ │ ├── icon-viewlink.svg
│ │ │ ├── icon-yes.svg
│ │ │ ├── inline-delete.svg
│ │ │ ├── search.svg
│ │ │ ├── selector-icons.svg
│ │ │ ├── sorting-icons.svg
│ │ │ ├── tooltag-add.svg
│ │ │ └── tooltag-arrowright.svg
│ │ └── js
│ │ │ ├── SelectBox.js
│ │ │ ├── SelectFilter2.js
│ │ │ ├── actions.js
│ │ │ ├── actions.min.js
│ │ │ ├── admin
│ │ │ ├── DateTimeShortcuts.js
│ │ │ └── RelatedObjectLookups.js
│ │ │ ├── autocomplete.js
│ │ │ ├── calendar.js
│ │ │ ├── cancel.js
│ │ │ ├── change_form.js
│ │ │ ├── collapse.js
│ │ │ ├── collapse.min.js
│ │ │ ├── core.js
│ │ │ ├── inlines.js
│ │ │ ├── inlines.min.js
│ │ │ ├── jquery.init.js
│ │ │ ├── popup_response.js
│ │ │ ├── prepopulate.js
│ │ │ ├── prepopulate.min.js
│ │ │ ├── prepopulate_init.js
│ │ │ ├── urlify.js
│ │ │ └── vendor
│ │ │ ├── jquery
│ │ │ ├── LICENSE.txt
│ │ │ ├── jquery.js
│ │ │ └── jquery.min.js
│ │ │ ├── select2
│ │ │ ├── LICENSE.md
│ │ │ ├── i18n
│ │ │ │ ├── af.js
│ │ │ │ ├── ar.js
│ │ │ │ ├── az.js
│ │ │ │ ├── bg.js
│ │ │ │ ├── bn.js
│ │ │ │ ├── bs.js
│ │ │ │ ├── ca.js
│ │ │ │ ├── cs.js
│ │ │ │ ├── da.js
│ │ │ │ ├── de.js
│ │ │ │ ├── dsb.js
│ │ │ │ ├── el.js
│ │ │ │ ├── en.js
│ │ │ │ ├── es.js
│ │ │ │ ├── et.js
│ │ │ │ ├── eu.js
│ │ │ │ ├── fa.js
│ │ │ │ ├── fi.js
│ │ │ │ ├── fr.js
│ │ │ │ ├── gl.js
│ │ │ │ ├── he.js
│ │ │ │ ├── hi.js
│ │ │ │ ├── hr.js
│ │ │ │ ├── hsb.js
│ │ │ │ ├── hu.js
│ │ │ │ ├── hy.js
│ │ │ │ ├── id.js
│ │ │ │ ├── is.js
│ │ │ │ ├── it.js
│ │ │ │ ├── ja.js
│ │ │ │ ├── ka.js
│ │ │ │ ├── km.js
│ │ │ │ ├── ko.js
│ │ │ │ ├── lt.js
│ │ │ │ ├── lv.js
│ │ │ │ ├── mk.js
│ │ │ │ ├── ms.js
│ │ │ │ ├── nb.js
│ │ │ │ ├── ne.js
│ │ │ │ ├── nl.js
│ │ │ │ ├── pl.js
│ │ │ │ ├── ps.js
│ │ │ │ ├── pt-BR.js
│ │ │ │ ├── pt.js
│ │ │ │ ├── ro.js
│ │ │ │ ├── ru.js
│ │ │ │ ├── sk.js
│ │ │ │ ├── sl.js
│ │ │ │ ├── sq.js
│ │ │ │ ├── sr-Cyrl.js
│ │ │ │ ├── sr.js
│ │ │ │ ├── sv.js
│ │ │ │ ├── th.js
│ │ │ │ ├── tk.js
│ │ │ │ ├── tr.js
│ │ │ │ ├── uk.js
│ │ │ │ ├── vi.js
│ │ │ │ ├── zh-CN.js
│ │ │ │ └── zh-TW.js
│ │ │ ├── select2.full.js
│ │ │ └── select2.full.min.js
│ │ │ └── xregexp
│ │ │ ├── LICENSE.txt
│ │ │ ├── xregexp.js
│ │ │ └── xregexp.min.js
│ │ ├── landing
│ │ └── logo.png
│ │ └── main.css
├── Exercise5.05
│ └── business_site
│ │ └── landing
│ │ └── tests.py
├── Exercise5.06
│ └── business_site
│ │ ├── business_site
│ │ └── settings.py
│ │ ├── landing
│ │ └── tests.py
│ │ └── static_production_test
│ │ ├── admin
│ │ ├── css
│ │ │ ├── autocomplete.781713f30664.css
│ │ │ ├── autocomplete.css
│ │ │ ├── base.ae33e6383baa.css
│ │ │ ├── base.css
│ │ │ ├── changelists.cfe316f81936.css
│ │ │ ├── changelists.css
│ │ │ ├── dashboard.7ac78187c567.css
│ │ │ ├── dashboard.css
│ │ │ ├── fonts.168bab448fee.css
│ │ │ ├── fonts.css
│ │ │ ├── forms.9f1ffc442e9a.css
│ │ │ ├── forms.css
│ │ │ ├── login.252ffabd6548.css
│ │ │ ├── login.css
│ │ │ ├── responsive.755ce0b07393.css
│ │ │ ├── responsive.css
│ │ │ ├── responsive_rtl.51c7445ceeff.css
│ │ │ ├── responsive_rtl.css
│ │ │ ├── rtl.30f903442dc5.css
│ │ │ ├── rtl.css
│ │ │ ├── vendor
│ │ │ │ └── select2
│ │ │ │ │ ├── LICENSE-SELECT2.f94142512c91.md
│ │ │ │ │ ├── LICENSE-SELECT2.md
│ │ │ │ │ ├── select2.css
│ │ │ │ │ ├── select2.fd9fe49d3d91.css
│ │ │ │ │ ├── select2.min.af22a7e2bfec.css
│ │ │ │ │ └── select2.min.css
│ │ │ ├── widgets.8874c301e7bc.css
│ │ │ └── widgets.css
│ │ ├── fonts
│ │ │ ├── LICENSE.d273d63619c9.txt
│ │ │ ├── LICENSE.txt
│ │ │ ├── README.ab99e6b541ea.txt
│ │ │ ├── README.txt
│ │ │ ├── Roboto-Bold-webfont.50d75e48e0a3.woff
│ │ │ ├── Roboto-Bold-webfont.woff
│ │ │ ├── Roboto-Light-webfont.c73eb1ceba33.woff
│ │ │ ├── Roboto-Light-webfont.woff
│ │ │ ├── Roboto-Regular-webfont.35b07eb2f871.woff
│ │ │ └── Roboto-Regular-webfont.woff
│ │ ├── img
│ │ │ ├── LICENSE
│ │ │ ├── LICENSE.2c54f4e1ca1c
│ │ │ ├── README.a70711a38d87.txt
│ │ │ ├── README.txt
│ │ │ ├── calendar-icons.39b290681a8b.svg
│ │ │ ├── calendar-icons.svg
│ │ │ ├── gis
│ │ │ │ ├── move_vertex_off.7a23bf31ef8a.svg
│ │ │ │ ├── move_vertex_off.svg
│ │ │ │ ├── move_vertex_on.0047eba25b67.svg
│ │ │ │ └── move_vertex_on.svg
│ │ │ ├── icon-addlink.d519b3bab011.svg
│ │ │ ├── icon-addlink.svg
│ │ │ ├── icon-alert.034cc7d8a67f.svg
│ │ │ ├── icon-alert.svg
│ │ │ ├── icon-calendar.ac7aea671bea.svg
│ │ │ ├── icon-calendar.svg
│ │ │ ├── icon-changelink.18d2fd706348.svg
│ │ │ ├── icon-changelink.svg
│ │ │ ├── icon-clock.e1d4dfac3f2b.svg
│ │ │ ├── icon-clock.svg
│ │ │ ├── icon-deletelink.564ef9dc3854.svg
│ │ │ ├── icon-deletelink.svg
│ │ │ ├── icon-no.439e821418cd.svg
│ │ │ ├── icon-no.svg
│ │ │ ├── icon-unknown-alt.81536e128bb6.svg
│ │ │ ├── icon-unknown-alt.svg
│ │ │ ├── icon-unknown.a18cb4398978.svg
│ │ │ ├── icon-unknown.svg
│ │ │ ├── icon-viewlink.41eb31f7826e.svg
│ │ │ ├── icon-viewlink.svg
│ │ │ ├── icon-yes.d2f9f035226a.svg
│ │ │ ├── icon-yes.svg
│ │ │ ├── inline-delete.fec1b761f254.svg
│ │ │ ├── inline-delete.svg
│ │ │ ├── search.7cf54ff789c6.svg
│ │ │ ├── search.svg
│ │ │ ├── selector-icons.b4555096cea2.svg
│ │ │ ├── selector-icons.svg
│ │ │ ├── sorting-icons.3a097b59f104.svg
│ │ │ ├── sorting-icons.svg
│ │ │ ├── tooltag-add.e59d620a9742.svg
│ │ │ ├── tooltag-add.svg
│ │ │ ├── tooltag-arrowright.bbfb788a849e.svg
│ │ │ └── tooltag-arrowright.svg
│ │ └── js
│ │ │ ├── SelectBox.99d0cfd2e80c.js
│ │ │ ├── SelectBox.js
│ │ │ ├── SelectFilter2.c26733924aea.js
│ │ │ ├── SelectFilter2.js
│ │ │ ├── actions.8d83e3af0fbd.js
│ │ │ ├── actions.js
│ │ │ ├── actions.min.5fa8cb0403f1.js
│ │ │ ├── actions.min.js
│ │ │ ├── admin
│ │ │ ├── DateTimeShortcuts.a9c6d180860b.js
│ │ │ ├── DateTimeShortcuts.js
│ │ │ ├── RelatedObjectLookups.ea0683bea064.js
│ │ │ └── RelatedObjectLookups.js
│ │ │ ├── autocomplete.cfd2c4dc8981.js
│ │ │ ├── autocomplete.js
│ │ │ ├── calendar.aae57adab5f6.js
│ │ │ ├── calendar.js
│ │ │ ├── cancel.a2c3149a1c5e.js
│ │ │ ├── cancel.js
│ │ │ ├── change_form.9e85003a1a38.js
│ │ │ ├── change_form.js
│ │ │ ├── collapse.c5b851e91226.js
│ │ │ ├── collapse.js
│ │ │ ├── collapse.min.44dfdb427845.js
│ │ │ ├── collapse.min.js
│ │ │ ├── core.ea39b3bd34c3.js
│ │ │ ├── core.js
│ │ │ ├── inlines.12d1af430335.js
│ │ │ ├── inlines.js
│ │ │ ├── inlines.min.6d6c2416646e.js
│ │ │ ├── inlines.min.js
│ │ │ ├── jquery.init.95b62fa19378.js
│ │ │ ├── jquery.init.js
│ │ │ ├── popup_response.6ce3197f8fc8.js
│ │ │ ├── popup_response.js
│ │ │ ├── prepopulate.2f90da7170ec.js
│ │ │ ├── prepopulate.js
│ │ │ ├── prepopulate.min.85fd5e0fb706.js
│ │ │ ├── prepopulate.min.js
│ │ │ ├── prepopulate_init.0d3b53c37074.js
│ │ │ ├── prepopulate_init.js
│ │ │ ├── urlify.67bae52223e0.js
│ │ │ ├── urlify.js
│ │ │ └── vendor
│ │ │ ├── jquery
│ │ │ ├── LICENSE.75308107741f.txt
│ │ │ ├── LICENSE.txt
│ │ │ ├── jquery.11c05eb286ed.js
│ │ │ ├── jquery.js
│ │ │ ├── jquery.min.220afd743d9e.js
│ │ │ └── jquery.min.js
│ │ │ ├── select2
│ │ │ ├── LICENSE.f94142512c91.md
│ │ │ ├── LICENSE.md
│ │ │ ├── i18n
│ │ │ │ ├── af.c4a5cbd6a23f.js
│ │ │ │ ├── af.js
│ │ │ │ ├── ar.7dcfd5775174.js
│ │ │ │ ├── ar.js
│ │ │ │ ├── az.1804c238d269.js
│ │ │ │ ├── az.js
│ │ │ │ ├── bg.096f4410173b.js
│ │ │ │ ├── bg.js
│ │ │ │ ├── bn.b33721dc9b8a.js
│ │ │ │ ├── bn.js
│ │ │ │ ├── bs.debce43cfca2.js
│ │ │ │ ├── bs.js
│ │ │ │ ├── ca.60f20182ff18.js
│ │ │ │ ├── ca.js
│ │ │ │ ├── cs.edd7167cdcb6.js
│ │ │ │ ├── cs.js
│ │ │ │ ├── da.6bbc262044b3.js
│ │ │ │ ├── da.js
│ │ │ │ ├── de.630e81c65a7b.js
│ │ │ │ ├── de.js
│ │ │ │ ├── dsb.9c2742bfc55a.js
│ │ │ │ ├── dsb.js
│ │ │ │ ├── el.01c46bf8c8b3.js
│ │ │ │ ├── el.js
│ │ │ │ ├── en.aed9bad15375.js
│ │ │ │ ├── en.js
│ │ │ │ ├── es.8b21ebdb01ee.js
│ │ │ │ ├── es.js
│ │ │ │ ├── et.32b0b17ba1a9.js
│ │ │ │ ├── et.js
│ │ │ │ ├── eu.6c45eaf416fe.js
│ │ │ │ ├── eu.js
│ │ │ │ ├── fa.1738b003dd26.js
│ │ │ │ ├── fa.js
│ │ │ │ ├── fi.2858f3167855.js
│ │ │ │ ├── fi.js
│ │ │ │ ├── fr.6129248732b9.js
│ │ │ │ ├── fr.js
│ │ │ │ ├── gl.e2766036e78a.js
│ │ │ │ ├── gl.js
│ │ │ │ ├── he.4d933538516a.js
│ │ │ │ ├── he.js
│ │ │ │ ├── hi.f81e979ec25f.js
│ │ │ │ ├── hi.js
│ │ │ │ ├── hr.68583e607f1e.js
│ │ │ │ ├── hr.js
│ │ │ │ ├── hsb.50caaee90a0d.js
│ │ │ │ ├── hsb.js
│ │ │ │ ├── hu.9edad4c24fd0.js
│ │ │ │ ├── hu.js
│ │ │ │ ├── hy.4c655f53f4e1.js
│ │ │ │ ├── hy.js
│ │ │ │ ├── id.322604a430a5.js
│ │ │ │ ├── id.js
│ │ │ │ ├── is.a8a13c9122d7.js
│ │ │ │ ├── is.js
│ │ │ │ ├── it.110a0fa84968.js
│ │ │ │ ├── it.js
│ │ │ │ ├── ja.442146837f55.js
│ │ │ │ ├── ja.js
│ │ │ │ ├── ka.8ea0684cc301.js
│ │ │ │ ├── ka.js
│ │ │ │ ├── km.8c337905305d.js
│ │ │ │ ├── km.js
│ │ │ │ ├── ko.82358a9b6840.js
│ │ │ │ ├── ko.js
│ │ │ │ ├── lt.2c390a6bf650.js
│ │ │ │ ├── lt.js
│ │ │ │ ├── lv.30bfb7fc3b63.js
│ │ │ │ ├── lv.js
│ │ │ │ ├── mk.92f1d29581b7.js
│ │ │ │ ├── mk.js
│ │ │ │ ├── ms.ade6aba46542.js
│ │ │ │ ├── ms.js
│ │ │ │ ├── nb.e535138ca26b.js
│ │ │ │ ├── nb.js
│ │ │ │ ├── ne.f61bf00bc3fe.js
│ │ │ │ ├── ne.js
│ │ │ │ ├── nl.674c0d3da68d.js
│ │ │ │ ├── nl.js
│ │ │ │ ├── pl.a10ee9248c07.js
│ │ │ │ ├── pl.js
│ │ │ │ ├── ps.de1a40c46c09.js
│ │ │ │ ├── ps.js
│ │ │ │ ├── pt-BR.455adefc2984.js
│ │ │ │ ├── pt-BR.js
│ │ │ │ ├── pt.5b4ec8cb5b23.js
│ │ │ │ ├── pt.js
│ │ │ │ ├── ro.ea7e3b822b06.js
│ │ │ │ ├── ro.js
│ │ │ │ ├── ru.962f048c22f2.js
│ │ │ │ ├── ru.js
│ │ │ │ ├── sk.34019208b835.js
│ │ │ │ ├── sk.js
│ │ │ │ ├── sl.a5e262c643f2.js
│ │ │ │ ├── sl.js
│ │ │ │ ├── sq.abf2d34b255a.js
│ │ │ │ ├── sq.js
│ │ │ │ ├── sr-Cyrl.116365a2de65.js
│ │ │ │ ├── sr-Cyrl.js
│ │ │ │ ├── sr.c9f16b9e0f93.js
│ │ │ │ ├── sr.js
│ │ │ │ ├── sv.725800c5e8fc.js
│ │ │ │ ├── sv.js
│ │ │ │ ├── th.b013804dae9c.js
│ │ │ │ ├── th.js
│ │ │ │ ├── tk.5042dc8eca8e.js
│ │ │ │ ├── tk.js
│ │ │ │ ├── tr.dc697d893beb.js
│ │ │ │ ├── tr.js
│ │ │ │ ├── uk.e05ad5df6258.js
│ │ │ │ ├── uk.js
│ │ │ │ ├── vi.0a60056920fc.js
│ │ │ │ ├── vi.js
│ │ │ │ ├── zh-CN.bde34fa3f064.js
│ │ │ │ ├── zh-CN.js
│ │ │ │ ├── zh-TW.e727260f7094.js
│ │ │ │ └── zh-TW.js
│ │ │ ├── select2.full.d379d5235584.js
│ │ │ ├── select2.full.js
│ │ │ ├── select2.full.min.68e8d8f673b7.js
│ │ │ └── select2.full.min.js
│ │ │ └── xregexp
│ │ │ ├── LICENSE.d64cecf4f157.txt
│ │ │ ├── LICENSE.txt
│ │ │ ├── xregexp.1865b1cf5085.js
│ │ │ ├── xregexp.js
│ │ │ ├── xregexp.min.c95393b8ca4d.js
│ │ │ └── xregexp.min.js
│ │ ├── landing
│ │ ├── logo.ba8b3d8fe184.png
│ │ └── logo.png
│ │ ├── main.856c74fb7029.css
│ │ ├── main.css
│ │ ├── main.df1234ac4e63.css
│ │ └── staticfiles.json
└── final
│ ├── bookr
│ ├── admin.py
│ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ ├── manage.py
│ ├── requirements.txt
│ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── static
│ │ │ └── reviews
│ │ │ │ └── logo.png
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── base.html
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ └── search-results.html
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ ├── static
│ │ ├── logo.png
│ │ └── main.css
│ └── templates
│ │ └── base.html
│ └── business_site
│ ├── business_site
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
│ ├── landing
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── static
│ │ └── landing
│ │ │ └── logo.png
│ ├── tests.py
│ └── views.py
│ ├── manage.py
│ ├── static
│ └── main.css
│ ├── static_production_test
│ ├── admin
│ │ ├── css
│ │ │ ├── autocomplete.781713f30664.css
│ │ │ ├── autocomplete.css
│ │ │ ├── base.ae33e6383baa.css
│ │ │ ├── base.css
│ │ │ ├── changelists.cfe316f81936.css
│ │ │ ├── changelists.css
│ │ │ ├── dashboard.7ac78187c567.css
│ │ │ ├── dashboard.css
│ │ │ ├── fonts.168bab448fee.css
│ │ │ ├── fonts.css
│ │ │ ├── forms.9f1ffc442e9a.css
│ │ │ ├── forms.css
│ │ │ ├── login.252ffabd6548.css
│ │ │ ├── login.css
│ │ │ ├── responsive.755ce0b07393.css
│ │ │ ├── responsive.css
│ │ │ ├── responsive_rtl.51c7445ceeff.css
│ │ │ ├── responsive_rtl.css
│ │ │ ├── rtl.30f903442dc5.css
│ │ │ ├── rtl.css
│ │ │ ├── vendor
│ │ │ │ └── select2
│ │ │ │ │ ├── LICENSE-SELECT2.f94142512c91.md
│ │ │ │ │ ├── LICENSE-SELECT2.md
│ │ │ │ │ ├── select2.css
│ │ │ │ │ ├── select2.fd9fe49d3d91.css
│ │ │ │ │ ├── select2.min.af22a7e2bfec.css
│ │ │ │ │ └── select2.min.css
│ │ │ ├── widgets.8874c301e7bc.css
│ │ │ └── widgets.css
│ │ ├── fonts
│ │ │ ├── LICENSE.d273d63619c9.txt
│ │ │ ├── LICENSE.txt
│ │ │ ├── README.ab99e6b541ea.txt
│ │ │ ├── README.txt
│ │ │ ├── Roboto-Bold-webfont.50d75e48e0a3.woff
│ │ │ ├── Roboto-Bold-webfont.woff
│ │ │ ├── Roboto-Light-webfont.c73eb1ceba33.woff
│ │ │ ├── Roboto-Light-webfont.woff
│ │ │ ├── Roboto-Regular-webfont.35b07eb2f871.woff
│ │ │ └── Roboto-Regular-webfont.woff
│ │ ├── img
│ │ │ ├── LICENSE
│ │ │ ├── LICENSE.2c54f4e1ca1c
│ │ │ ├── README.a70711a38d87.txt
│ │ │ ├── README.txt
│ │ │ ├── calendar-icons.39b290681a8b.svg
│ │ │ ├── calendar-icons.svg
│ │ │ ├── gis
│ │ │ │ ├── move_vertex_off.7a23bf31ef8a.svg
│ │ │ │ ├── move_vertex_off.svg
│ │ │ │ ├── move_vertex_on.0047eba25b67.svg
│ │ │ │ └── move_vertex_on.svg
│ │ │ ├── icon-addlink.d519b3bab011.svg
│ │ │ ├── icon-addlink.svg
│ │ │ ├── icon-alert.034cc7d8a67f.svg
│ │ │ ├── icon-alert.svg
│ │ │ ├── icon-calendar.ac7aea671bea.svg
│ │ │ ├── icon-calendar.svg
│ │ │ ├── icon-changelink.18d2fd706348.svg
│ │ │ ├── icon-changelink.svg
│ │ │ ├── icon-clock.e1d4dfac3f2b.svg
│ │ │ ├── icon-clock.svg
│ │ │ ├── icon-deletelink.564ef9dc3854.svg
│ │ │ ├── icon-deletelink.svg
│ │ │ ├── icon-no.439e821418cd.svg
│ │ │ ├── icon-no.svg
│ │ │ ├── icon-unknown-alt.81536e128bb6.svg
│ │ │ ├── icon-unknown-alt.svg
│ │ │ ├── icon-unknown.a18cb4398978.svg
│ │ │ ├── icon-unknown.svg
│ │ │ ├── icon-viewlink.41eb31f7826e.svg
│ │ │ ├── icon-viewlink.svg
│ │ │ ├── icon-yes.d2f9f035226a.svg
│ │ │ ├── icon-yes.svg
│ │ │ ├── inline-delete.fec1b761f254.svg
│ │ │ ├── inline-delete.svg
│ │ │ ├── search.7cf54ff789c6.svg
│ │ │ ├── search.svg
│ │ │ ├── selector-icons.b4555096cea2.svg
│ │ │ ├── selector-icons.svg
│ │ │ ├── sorting-icons.3a097b59f104.svg
│ │ │ ├── sorting-icons.svg
│ │ │ ├── tooltag-add.e59d620a9742.svg
│ │ │ ├── tooltag-add.svg
│ │ │ ├── tooltag-arrowright.bbfb788a849e.svg
│ │ │ └── tooltag-arrowright.svg
│ │ └── js
│ │ │ ├── SelectBox.99d0cfd2e80c.js
│ │ │ ├── SelectBox.js
│ │ │ ├── SelectFilter2.c26733924aea.js
│ │ │ ├── SelectFilter2.js
│ │ │ ├── actions.8d83e3af0fbd.js
│ │ │ ├── actions.js
│ │ │ ├── actions.min.5fa8cb0403f1.js
│ │ │ ├── actions.min.js
│ │ │ ├── admin
│ │ │ ├── DateTimeShortcuts.a9c6d180860b.js
│ │ │ ├── DateTimeShortcuts.js
│ │ │ ├── RelatedObjectLookups.ea0683bea064.js
│ │ │ └── RelatedObjectLookups.js
│ │ │ ├── autocomplete.cfd2c4dc8981.js
│ │ │ ├── autocomplete.js
│ │ │ ├── calendar.aae57adab5f6.js
│ │ │ ├── calendar.js
│ │ │ ├── cancel.a2c3149a1c5e.js
│ │ │ ├── cancel.js
│ │ │ ├── change_form.9e85003a1a38.js
│ │ │ ├── change_form.js
│ │ │ ├── collapse.c5b851e91226.js
│ │ │ ├── collapse.js
│ │ │ ├── collapse.min.44dfdb427845.js
│ │ │ ├── collapse.min.js
│ │ │ ├── core.ea39b3bd34c3.js
│ │ │ ├── core.js
│ │ │ ├── inlines.12d1af430335.js
│ │ │ ├── inlines.js
│ │ │ ├── inlines.min.6d6c2416646e.js
│ │ │ ├── inlines.min.js
│ │ │ ├── jquery.init.95b62fa19378.js
│ │ │ ├── jquery.init.js
│ │ │ ├── popup_response.6ce3197f8fc8.js
│ │ │ ├── popup_response.js
│ │ │ ├── prepopulate.2f90da7170ec.js
│ │ │ ├── prepopulate.js
│ │ │ ├── prepopulate.min.85fd5e0fb706.js
│ │ │ ├── prepopulate.min.js
│ │ │ ├── prepopulate_init.0d3b53c37074.js
│ │ │ ├── prepopulate_init.js
│ │ │ ├── urlify.67bae52223e0.js
│ │ │ ├── urlify.js
│ │ │ └── vendor
│ │ │ ├── jquery
│ │ │ ├── LICENSE.75308107741f.txt
│ │ │ ├── LICENSE.txt
│ │ │ ├── jquery.11c05eb286ed.js
│ │ │ ├── jquery.js
│ │ │ ├── jquery.min.220afd743d9e.js
│ │ │ └── jquery.min.js
│ │ │ ├── select2
│ │ │ ├── LICENSE.f94142512c91.md
│ │ │ ├── LICENSE.md
│ │ │ ├── i18n
│ │ │ │ ├── af.c4a5cbd6a23f.js
│ │ │ │ ├── af.js
│ │ │ │ ├── ar.7dcfd5775174.js
│ │ │ │ ├── ar.js
│ │ │ │ ├── az.1804c238d269.js
│ │ │ │ ├── az.js
│ │ │ │ ├── bg.096f4410173b.js
│ │ │ │ ├── bg.js
│ │ │ │ ├── bn.b33721dc9b8a.js
│ │ │ │ ├── bn.js
│ │ │ │ ├── bs.debce43cfca2.js
│ │ │ │ ├── bs.js
│ │ │ │ ├── ca.60f20182ff18.js
│ │ │ │ ├── ca.js
│ │ │ │ ├── cs.edd7167cdcb6.js
│ │ │ │ ├── cs.js
│ │ │ │ ├── da.6bbc262044b3.js
│ │ │ │ ├── da.js
│ │ │ │ ├── de.630e81c65a7b.js
│ │ │ │ ├── de.js
│ │ │ │ ├── dsb.9c2742bfc55a.js
│ │ │ │ ├── dsb.js
│ │ │ │ ├── el.01c46bf8c8b3.js
│ │ │ │ ├── el.js
│ │ │ │ ├── en.aed9bad15375.js
│ │ │ │ ├── en.js
│ │ │ │ ├── es.8b21ebdb01ee.js
│ │ │ │ ├── es.js
│ │ │ │ ├── et.32b0b17ba1a9.js
│ │ │ │ ├── et.js
│ │ │ │ ├── eu.6c45eaf416fe.js
│ │ │ │ ├── eu.js
│ │ │ │ ├── fa.1738b003dd26.js
│ │ │ │ ├── fa.js
│ │ │ │ ├── fi.2858f3167855.js
│ │ │ │ ├── fi.js
│ │ │ │ ├── fr.6129248732b9.js
│ │ │ │ ├── fr.js
│ │ │ │ ├── gl.e2766036e78a.js
│ │ │ │ ├── gl.js
│ │ │ │ ├── he.4d933538516a.js
│ │ │ │ ├── he.js
│ │ │ │ ├── hi.f81e979ec25f.js
│ │ │ │ ├── hi.js
│ │ │ │ ├── hr.68583e607f1e.js
│ │ │ │ ├── hr.js
│ │ │ │ ├── hsb.50caaee90a0d.js
│ │ │ │ ├── hsb.js
│ │ │ │ ├── hu.9edad4c24fd0.js
│ │ │ │ ├── hu.js
│ │ │ │ ├── hy.4c655f53f4e1.js
│ │ │ │ ├── hy.js
│ │ │ │ ├── id.322604a430a5.js
│ │ │ │ ├── id.js
│ │ │ │ ├── is.a8a13c9122d7.js
│ │ │ │ ├── is.js
│ │ │ │ ├── it.110a0fa84968.js
│ │ │ │ ├── it.js
│ │ │ │ ├── ja.442146837f55.js
│ │ │ │ ├── ja.js
│ │ │ │ ├── ka.8ea0684cc301.js
│ │ │ │ ├── ka.js
│ │ │ │ ├── km.8c337905305d.js
│ │ │ │ ├── km.js
│ │ │ │ ├── ko.82358a9b6840.js
│ │ │ │ ├── ko.js
│ │ │ │ ├── lt.2c390a6bf650.js
│ │ │ │ ├── lt.js
│ │ │ │ ├── lv.30bfb7fc3b63.js
│ │ │ │ ├── lv.js
│ │ │ │ ├── mk.92f1d29581b7.js
│ │ │ │ ├── mk.js
│ │ │ │ ├── ms.ade6aba46542.js
│ │ │ │ ├── ms.js
│ │ │ │ ├── nb.e535138ca26b.js
│ │ │ │ ├── nb.js
│ │ │ │ ├── ne.f61bf00bc3fe.js
│ │ │ │ ├── ne.js
│ │ │ │ ├── nl.674c0d3da68d.js
│ │ │ │ ├── nl.js
│ │ │ │ ├── pl.a10ee9248c07.js
│ │ │ │ ├── pl.js
│ │ │ │ ├── ps.de1a40c46c09.js
│ │ │ │ ├── ps.js
│ │ │ │ ├── pt-BR.455adefc2984.js
│ │ │ │ ├── pt-BR.js
│ │ │ │ ├── pt.5b4ec8cb5b23.js
│ │ │ │ ├── pt.js
│ │ │ │ ├── ro.ea7e3b822b06.js
│ │ │ │ ├── ro.js
│ │ │ │ ├── ru.962f048c22f2.js
│ │ │ │ ├── ru.js
│ │ │ │ ├── sk.34019208b835.js
│ │ │ │ ├── sk.js
│ │ │ │ ├── sl.a5e262c643f2.js
│ │ │ │ ├── sl.js
│ │ │ │ ├── sq.abf2d34b255a.js
│ │ │ │ ├── sq.js
│ │ │ │ ├── sr-Cyrl.116365a2de65.js
│ │ │ │ ├── sr-Cyrl.js
│ │ │ │ ├── sr.c9f16b9e0f93.js
│ │ │ │ ├── sr.js
│ │ │ │ ├── sv.725800c5e8fc.js
│ │ │ │ ├── sv.js
│ │ │ │ ├── th.b013804dae9c.js
│ │ │ │ ├── th.js
│ │ │ │ ├── tk.5042dc8eca8e.js
│ │ │ │ ├── tk.js
│ │ │ │ ├── tr.dc697d893beb.js
│ │ │ │ ├── tr.js
│ │ │ │ ├── uk.e05ad5df6258.js
│ │ │ │ ├── uk.js
│ │ │ │ ├── vi.0a60056920fc.js
│ │ │ │ ├── vi.js
│ │ │ │ ├── zh-CN.bde34fa3f064.js
│ │ │ │ ├── zh-CN.js
│ │ │ │ ├── zh-TW.e727260f7094.js
│ │ │ │ └── zh-TW.js
│ │ │ ├── select2.full.d379d5235584.js
│ │ │ ├── select2.full.js
│ │ │ ├── select2.full.min.68e8d8f673b7.js
│ │ │ └── select2.full.min.js
│ │ │ └── xregexp
│ │ │ ├── LICENSE.d64cecf4f157.txt
│ │ │ ├── LICENSE.txt
│ │ │ ├── xregexp.1865b1cf5085.js
│ │ │ ├── xregexp.js
│ │ │ ├── xregexp.min.c95393b8ca4d.js
│ │ │ └── xregexp.min.js
│ ├── landing
│ │ ├── logo.ba8b3d8fe184.png
│ │ └── logo.png
│ ├── main.856c74fb7029.css
│ ├── main.css
│ ├── main.df1234ac4e63.css
│ └── staticfiles.json
│ └── templates
│ └── index.html
├── Chapter06
├── Activity6.01
│ └── bookr
│ │ ├── reviews
│ │ ├── forms.py
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ └── search-results.html
│ │ ├── tests.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
├── Exercise6.01
│ └── form_project
│ │ ├── form_example
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── migrations
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── templates
│ │ │ └── form-example.html
│ │ ├── tests.py
│ │ └── views.py
│ │ ├── form_project
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ └── manage.py
├── Exercise6.02
│ └── form_project
│ │ └── form_example
│ │ ├── templates
│ │ └── form-example.html
│ │ ├── tests.py
│ │ └── views.py
├── Exercise6.03
│ └── form_project
│ │ └── form_example
│ │ ├── forms.py
│ │ ├── templates
│ │ └── form-example.html
│ │ ├── tests.py
│ │ └── views.py
├── Exercise6.04
│ └── form_project
│ │ └── form_example
│ │ ├── forms.py
│ │ ├── tests.py
│ │ └── views.py
├── Exercise6.05
│ └── form_project
│ │ └── form_example
│ │ ├── forms.py
│ │ └── tests.py
└── final
│ ├── bookr
│ ├── admin.py
│ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── forms.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ ├── db.sqlite3
│ ├── manage.py
│ ├── requirements.txt
│ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── forms.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── static
│ │ │ └── reviews
│ │ │ │ └── logo.png
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── base.html
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ └── search-results.html
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ ├── static
│ │ ├── logo.png
│ │ └── main.css
│ └── templates
│ │ └── base.html
│ └── form_project
│ ├── form_example
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── templates
│ │ └── form-example.html
│ ├── tests.py
│ └── views.py
│ ├── form_project
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
│ └── manage.py
├── Chapter07
├── Activity7.01
│ └── bookr
│ │ ├── reviews
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ └── instance-form.html
│ │ ├── tests.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
├── Activity7.02
│ └── bookr
│ │ ├── reviews
│ │ ├── forms.py
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── book_detail.html
│ │ │ │ └── instance-form.html
│ │ ├── tests.py
│ │ ├── urls.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
├── Exercise7.01
│ └── form_project
│ │ └── form_example
│ │ ├── forms.py
│ │ ├── tests.py
│ │ └── views.py
├── Exercise7.02
│ └── form_project
│ │ └── form_example
│ │ ├── forms.py
│ │ ├── tests.py
│ │ └── views.py
├── Exercise7.03
│ └── bookr
│ │ └── reviews
│ │ ├── forms.py
│ │ ├── templates
│ │ └── form-example.html
│ │ ├── tests.py
│ │ ├── urls.py
│ │ └── views.py
└── final
│ ├── bookr
│ ├── admin.py
│ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ ├── manage.py
│ ├── requirements.txt
│ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── forms.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── static
│ │ │ └── reviews
│ │ │ │ └── logo.png
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── base.html
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── instance-form.html
│ │ │ │ └── search-results.html
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ ├── static
│ │ ├── logo.png
│ │ └── main.css
│ └── templates
│ │ └── base.html
│ └── form_project
│ ├── form_example
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── templates
│ │ └── form-example.html
│ ├── tests.py
│ └── views.py
│ ├── form_project
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
│ └── manage.py
├── Chapter08
├── Activity8.01
│ └── bookr
│ │ ├── bookr
│ │ ├── settings.py
│ │ └── urls.py
│ │ ├── fixtures
│ │ ├── machine-learning-for-algorithmic-trading.png
│ │ └── machine-learning-for-trading.pdf
│ │ ├── media
│ │ ├── book_covers
│ │ │ └── .gitkeep
│ │ └── book_samples
│ │ │ └── .gitkeep
│ │ └── reviews
│ │ ├── forms.py
│ │ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── 0002_auto_20191007_0112.py
│ │ ├── 0003_auto_20191227_0751.py
│ │ ├── 0004_auto_20200907_0429.py
│ │ └── __init__.py
│ │ ├── models.py
│ │ ├── templates
│ │ └── reviews
│ │ │ └── instance-form.html
│ │ ├── tests.py
│ │ ├── urls.py
│ │ └── views.py
├── Activity8.02
│ └── bookr
│ │ └── reviews
│ │ ├── templates
│ │ └── reviews
│ │ │ └── book_detail.html
│ │ └── tests.py
├── Exercise8.01
│ └── media_project
│ │ ├── fixtures
│ │ ├── cover.jpg
│ │ └── sample.txt
│ │ ├── manage.py
│ │ ├── media
│ │ └── test.txt
│ │ ├── media_example
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── migrations
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── tests.py
│ │ └── views.py
│ │ └── media_project
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
├── Exercise8.02
│ └── media_project
│ │ ├── media_example
│ │ ├── templates
│ │ │ └── media-example.html
│ │ ├── tests.py
│ │ └── views.py
│ │ └── media_project
│ │ ├── settings.py
│ │ └── urls.py
├── Exercise8.03
│ └── media_project
│ │ └── media_example
│ │ ├── templates
│ │ └── media-example.html
│ │ ├── tests.py
│ │ └── views.py
├── Exercise8.04
│ └── media_project
│ │ └── media_example
│ │ ├── forms.py
│ │ ├── templates
│ │ └── media-example.html
│ │ ├── tests.py
│ │ └── views.py
├── Exercise8.05
│ └── media_project
│ │ └── media_example
│ │ ├── forms.py
│ │ ├── tests.py
│ │ └── views.py
├── Exercise8.06
│ └── media_project
│ │ └── media_example
│ │ ├── forms.py
│ │ ├── migrations
│ │ ├── 0001_initial.py
│ │ └── __init__.py
│ │ ├── models.py
│ │ ├── templates
│ │ └── media-example.html
│ │ ├── tests.py
│ │ └── views.py
├── Exercise8.07
│ └── media_project
│ │ └── media_example
│ │ ├── forms.py
│ │ ├── tests.py
│ │ └── views.py
└── final
│ ├── bookr
│ ├── admin.py
│ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ ├── manage.py
│ ├── requirements.txt
│ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── forms.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ ├── 0004_auto_20200907_0429.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── static
│ │ │ └── reviews
│ │ │ │ └── logo.png
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── base.html
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── instance-form.html
│ │ │ │ └── search-results.html
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ ├── static
│ │ ├── logo.png
│ │ └── main.css
│ └── templates
│ │ └── base.html
│ └── media_project
│ ├── fixtures
│ ├── cover.jpg
│ └── sample.txt
│ ├── manage.py
│ ├── media_example
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ └── __init__.py
│ ├── models.py
│ ├── templates
│ │ └── media-example.html
│ ├── tests.py
│ └── views.py
│ └── media_project
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── Chapter09
├── Activity9.01
│ └── bookr
│ │ ├── reviews
│ │ └── templates
│ │ │ └── reviews
│ │ │ └── book_detail.html
│ │ └── templates
│ │ └── base.html
├── Activity9.02
│ └── bookr
│ │ ├── reviews
│ │ └── views.py
│ │ └── templates
│ │ └── profile.html
├── Exercise09.01
│ └── bookr
│ │ ├── bookr
│ │ └── urls.py
│ │ └── templates
│ │ ├── base.html
│ │ └── registration
│ │ ├── logged_out.html
│ │ ├── login.html
│ │ ├── password_change_done.html
│ │ ├── password_change_form.html
│ │ ├── password_reset_complete.html
│ │ ├── password_reset_confirm.html
│ │ ├── password_reset_done.html
│ │ ├── password_reset_email.html
│ │ └── password_reset_form.html
├── Exercise09.02
│ └── bookr
│ │ ├── bookr
│ │ ├── urls.py
│ │ └── views.py
│ │ └── templates
│ │ └── profile.html
├── Exercise09.03
│ └── bookr
│ │ ├── bookr
│ │ └── views.py
│ │ └── reviews
│ │ └── views.py
├── Exercise09.04
│ └── bookr
│ │ └── templates
│ │ └── base.html
├── Exercise09.05
│ └── session_info.py
├── Exercise09.06
│ └── bookr
│ │ ├── reviews
│ │ └── views.py
│ │ └── templates
│ │ └── profile.html
└── final
│ └── bookr
│ ├── admin.py
│ ├── bookr
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ ├── views.py
│ └── wsgi.py
│ ├── manage.py
│ ├── requirements.txt
│ ├── reviews
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── management
│ │ └── commands
│ │ │ ├── WebDevWithDjangoData.csv
│ │ │ └── loadcsv.py
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── 0002_auto_20191007_0112.py
│ │ ├── 0003_auto_20191227_0751.py
│ │ ├── 0004_auto_20200907_0429.py
│ │ └── __init__.py
│ ├── models.py
│ ├── static
│ │ └── reviews
│ │ │ └── logo.png
│ ├── templates
│ │ └── reviews
│ │ │ ├── base.html
│ │ │ ├── book_detail.html
│ │ │ ├── book_list.html
│ │ │ ├── instance-form.html
│ │ │ └── search-results.html
│ ├── urls.py
│ ├── utils.py
│ └── views.py
│ ├── session_info.py
│ ├── static
│ ├── logo.png
│ └── main.css
│ └── templates
│ ├── base.html
│ ├── profile.html
│ └── registration
│ ├── logged_out.html
│ ├── login.html
│ ├── password_change_done.html
│ ├── password_change_form.html
│ ├── password_reset_complete.html
│ ├── password_reset_confirm.html
│ ├── password_reset_done.html
│ ├── password_reset_email.html
│ └── password_reset_form.html
├── Chapter10
├── Activity10.01
│ ├── bookr
│ │ ├── settings.py
│ │ └── urls.py
│ ├── bookr_admin
│ │ ├── admin.py
│ │ └── apps.py
│ ├── manage.py
│ └── reviews
│ │ └── admin.py
├── Exercise10.01
│ ├── bookr
│ │ └── urls.py
│ ├── bookr_admin
│ │ └── admin.py
│ └── manage.py
├── Exercise10.02
│ ├── bookr
│ │ ├── settings.py
│ │ └── urls.py
│ ├── bookr_admin
│ │ ├── admin.py
│ │ └── apps.py
│ └── manage.py
├── Exercise10.03
│ ├── bookr
│ │ └── settings.py
│ ├── bookr_admin
│ │ └── admin.py
│ ├── manage.py
│ └── templates
│ │ └── admin
│ │ └── logout.html
├── Exercise10.04
│ ├── bookr_admin
│ │ └── admin.py
│ ├── manage.py
│ └── templates
│ │ └── admin
│ │ └── admin_profile.html
└── final
│ └── bookr
│ ├── admin.py
│ ├── bookr
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ ├── views.py
│ └── wsgi.py
│ ├── bookr_admin
│ ├── admin.py
│ └── apps.py
│ ├── manage.py
│ ├── requirements.txt
│ ├── reviews
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── management
│ │ └── commands
│ │ │ ├── WebDevWithDjangoData.csv
│ │ │ └── loadcsv.py
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── 0002_auto_20191007_0112.py
│ │ ├── 0003_auto_20191227_0751.py
│ │ ├── 0004_auto_20200907_0429.py
│ │ └── __init__.py
│ ├── models.py
│ ├── static
│ │ └── reviews
│ │ │ └── logo.png
│ ├── templates
│ │ └── reviews
│ │ │ ├── base.html
│ │ │ ├── book_detail.html
│ │ │ ├── book_list.html
│ │ │ ├── instance-form.html
│ │ │ └── search-results.html
│ ├── tests.py
│ ├── urls.py
│ ├── utils.py
│ └── views.py
│ ├── session_info.py
│ ├── static
│ ├── logo.png
│ └── main.css
│ └── templates
│ ├── base.html
│ ├── profile.html
│ └── registration
│ ├── logged_out.html
│ ├── login.html
│ ├── password_change_done.html
│ ├── password_change_form.html
│ ├── password_change_form.html.bak
│ ├── password_reset_complete.html
│ ├── password_reset_confirm.html
│ ├── password_reset_done.html
│ ├── password_reset_email.html
│ └── password_reset_form.html
├── Chapter11
├── Activity11.01
│ ├── manage.py
│ ├── reviews
│ │ ├── templates
│ │ │ └── book_list.html
│ │ └── templatetags
│ │ │ └── profile_tags.py
│ └── templates
│ │ └── profile.html
├── Exercise11.01
│ ├── bookr
│ │ ├── settings.py
│ │ └── urls.py
│ ├── filter_demo
│ │ ├── templates
│ │ │ └── index.html
│ │ ├── templatetags
│ │ │ └── explode_filter.py
│ │ ├── urls.py
│ │ └── views.py
│ └── manage.py
├── Exercise11.02
│ ├── filter_demo
│ │ ├── templates
│ │ │ └── simple_tag_template.html
│ │ ├── templatetags
│ │ │ └── simple_tag.py
│ │ ├── urls.py
│ │ └── views.py
│ └── manage.py
├── Exercise11.03
│ ├── filter_demo
│ │ ├── templates
│ │ │ ├── book_list.html
│ │ │ └── simple_tag_template.html
│ │ ├── templatetags
│ │ │ ├── inclusion_tag.py
│ │ │ └── simple_tag.py
│ │ └── views.py
│ └── manage.py
├── Exercise11.04
│ ├── book_management
│ │ ├── forms.py
│ │ ├── models.py
│ │ ├── templates
│ │ │ └── book_form.html
│ │ ├── urls.py
│ │ └── views.py
│ ├── bookr
│ │ ├── settings.py
│ │ └── urls.py
│ └── manage.py
└── final
│ ├── bookr
│ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ ├── views.py
│ │ └── wsgi.py
│ ├── bookr_admin
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── migrations
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── tests.py
│ │ └── views.py
│ ├── fixtures
│ │ ├── machine-learning-for-algorithmic-trading.png
│ │ └── machine-learning-for-trading.pdf
│ ├── manage.py
│ ├── media
│ │ ├── book_covers
│ │ │ ├── logo.png
│ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ └── book_samples
│ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ └── main.css
│ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── forms.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ ├── 0004_examplemodel.py
│ │ │ ├── 0005_delete_examplemodel.py
│ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── static
│ │ │ └── reviews
│ │ │ │ └── logo.png
│ │ ├── templates
│ │ │ ├── book_list.html
│ │ │ └── reviews
│ │ │ │ ├── base.html
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── index.html
│ │ │ │ ├── instance-form.html
│ │ │ │ └── search-results.html
│ │ ├── templatetags
│ │ │ └── profile_tags.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ ├── static
│ │ ├── logo.png
│ │ └── main.css
│ └── templates
│ │ ├── base.html
│ │ ├── profile.html
│ │ └── registration
│ │ ├── logged_out.html
│ │ ├── login.html
│ │ ├── password.html
│ │ ├── password_change_done.html
│ │ ├── password_change_form.html
│ │ ├── password_reset_complete.html
│ │ ├── password_reset_confirm.html
│ │ ├── password_reset_done.html
│ │ ├── password_reset_email.html
│ │ └── password_reset_form.html
│ └── requirements.txt
├── Chapter12
├── Activity_12.01
│ ├── bookr
│ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ ├── views.py
│ │ │ └── wsgi.py
│ │ ├── bookr_admin
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── migrations
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── tests.py
│ │ │ └── views.py
│ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ ├── manage.py
│ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ └── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── api_views.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── serializers.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ ├── book_list.html
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── templatetags
│ │ │ │ └── profile_tags.py
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ └── templates
│ │ │ ├── base.html
│ │ │ ├── profile.html
│ │ │ └── registration
│ │ │ ├── logged_out.html
│ │ │ ├── login.html
│ │ │ ├── password.html
│ │ │ ├── password_change_done.html
│ │ │ ├── password_change_form.html
│ │ │ ├── password_reset_complete.html
│ │ │ ├── password_reset_confirm.html
│ │ │ ├── password_reset_done.html
│ │ │ ├── password_reset_email.html
│ │ │ └── password_reset_form.html
│ └── requirements.txt
├── Exercise_12.01
│ ├── bookr
│ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ ├── views.py
│ │ │ └── wsgi.py
│ │ ├── bookr_admin
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── migrations
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── tests.py
│ │ │ └── views.py
│ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ ├── manage.py
│ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ └── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── api_views.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ ├── book_list.html
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── templatetags
│ │ │ │ └── profile_tags.py
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ └── templates
│ │ │ ├── base.html
│ │ │ ├── profile.html
│ │ │ └── registration
│ │ │ ├── logged_out.html
│ │ │ ├── login.html
│ │ │ ├── password.html
│ │ │ ├── password_change_done.html
│ │ │ ├── password_change_form.html
│ │ │ ├── password_reset_complete.html
│ │ │ ├── password_reset_confirm.html
│ │ │ ├── password_reset_done.html
│ │ │ ├── password_reset_email.html
│ │ │ └── password_reset_form.html
│ └── requirements.txt
├── Exercise_12.02
│ ├── bookr
│ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ ├── views.py
│ │ │ └── wsgi.py
│ │ ├── bookr_admin
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── migrations
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── tests.py
│ │ │ └── views.py
│ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ ├── manage.py
│ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ └── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── api_views.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── serializers.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ ├── book_list.html
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── templatetags
│ │ │ │ └── profile_tags.py
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ └── templates
│ │ │ ├── base.html
│ │ │ ├── profile.html
│ │ │ └── registration
│ │ │ ├── logged_out.html
│ │ │ ├── login.html
│ │ │ ├── password.html
│ │ │ ├── password_change_done.html
│ │ │ ├── password_change_form.html
│ │ │ ├── password_reset_complete.html
│ │ │ ├── password_reset_confirm.html
│ │ │ ├── password_reset_done.html
│ │ │ ├── password_reset_email.html
│ │ │ └── password_reset_form.html
│ └── requirements.txt
├── Exercise_12.03
│ ├── bookr
│ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ ├── views.py
│ │ │ └── wsgi.py
│ │ ├── bookr_admin
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── migrations
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── tests.py
│ │ │ └── views.py
│ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ ├── manage.py
│ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ └── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── api_views.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── serializers.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ ├── book_list.html
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── templatetags
│ │ │ │ └── profile_tags.py
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ └── templates
│ │ │ ├── base.html
│ │ │ ├── profile.html
│ │ │ └── registration
│ │ │ ├── logged_out.html
│ │ │ ├── login.html
│ │ │ ├── password.html
│ │ │ ├── password_change_done.html
│ │ │ ├── password_change_form.html
│ │ │ ├── password_reset_complete.html
│ │ │ ├── password_reset_confirm.html
│ │ │ ├── password_reset_done.html
│ │ │ ├── password_reset_email.html
│ │ │ └── password_reset_form.html
│ └── requirements.txt
├── Exercise_12.04
│ ├── bookr
│ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ ├── views.py
│ │ │ └── wsgi.py
│ │ ├── bookr_admin
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── migrations
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── tests.py
│ │ │ └── views.py
│ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ ├── manage.py
│ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ └── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── api_views.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── serializers.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ ├── book_list.html
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── templatetags
│ │ │ │ └── profile_tags.py
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ └── templates
│ │ │ ├── base.html
│ │ │ ├── profile.html
│ │ │ └── registration
│ │ │ ├── logged_out.html
│ │ │ ├── login.html
│ │ │ ├── password.html
│ │ │ ├── password_change_done.html
│ │ │ ├── password_change_form.html
│ │ │ ├── password_reset_complete.html
│ │ │ ├── password_reset_confirm.html
│ │ │ ├── password_reset_done.html
│ │ │ ├── password_reset_email.html
│ │ │ └── password_reset_form.html
│ └── requirements.txt
├── Exercise_12.05
│ ├── bookr
│ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ ├── views.py
│ │ │ └── wsgi.py
│ │ ├── bookr_admin
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── migrations
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── tests.py
│ │ │ └── views.py
│ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ ├── manage.py
│ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ └── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── api_views.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── serializers.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ ├── book_list.html
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── templatetags
│ │ │ │ └── profile_tags.py
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ └── templates
│ │ │ ├── base.html
│ │ │ ├── profile.html
│ │ │ └── registration
│ │ │ ├── logged_out.html
│ │ │ ├── login.html
│ │ │ ├── password.html
│ │ │ ├── password_change_done.html
│ │ │ ├── password_change_form.html
│ │ │ ├── password_reset_complete.html
│ │ │ ├── password_reset_confirm.html
│ │ │ ├── password_reset_done.html
│ │ │ ├── password_reset_email.html
│ │ │ └── password_reset_form.html
│ └── requirements.txt
└── final
│ ├── bookr
│ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ ├── views.py
│ │ └── wsgi.py
│ ├── bookr_admin
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── migrations
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── tests.py
│ │ └── views.py
│ ├── fixtures
│ │ ├── machine-learning-for-algorithmic-trading.png
│ │ └── machine-learning-for-trading.pdf
│ ├── manage.py
│ ├── media
│ │ ├── book_covers
│ │ │ ├── logo.png
│ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ └── book_samples
│ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ └── main.css
│ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── api_views.py
│ │ ├── apps.py
│ │ ├── forms.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ ├── 0004_examplemodel.py
│ │ │ ├── 0005_delete_examplemodel.py
│ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── serializers.py
│ │ ├── static
│ │ │ └── reviews
│ │ │ │ └── logo.png
│ │ ├── templates
│ │ │ ├── book_list.html
│ │ │ └── reviews
│ │ │ │ ├── base.html
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── index.html
│ │ │ │ ├── instance-form.html
│ │ │ │ └── search-results.html
│ │ ├── templatetags
│ │ │ └── profile_tags.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ ├── static
│ │ ├── logo.png
│ │ └── main.css
│ └── templates
│ │ ├── base.html
│ │ ├── profile.html
│ │ └── registration
│ │ ├── logged_out.html
│ │ ├── login.html
│ │ ├── password.html
│ │ ├── password_change_done.html
│ │ ├── password_change_form.html
│ │ ├── password_reset_complete.html
│ │ ├── password_reset_confirm.html
│ │ ├── password_reset_done.html
│ │ ├── password_reset_email.html
│ │ └── password_reset_form.html
│ └── requirements.txt
├── Chapter13
├── Activity13.01
│ ├── bookr
│ │ ├── bookr
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ └── manage.py
│ └── requirements.txt
├── Exercise13.01
│ ├── csv_reader.py
│ └── market_cap.csv
├── Exercise13.02
│ ├── csv_writer.py
│ └── sample_output.csv
├── Exercise13.03
│ ├── requirements.txt
│ ├── sample_workbook.xlsx
│ └── xlsx_demo.py
├── Exercise13.04
│ ├── demo_page.pdf
│ ├── pdf_demo.py
│ └── requirements.txt
├── Exercise13.05
│ ├── plot_demo.html
│ ├── requirements.txt
│ └── scatter_plot_demo.py
├── Exercise13.06
│ ├── bookr
│ │ ├── bookr
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ ├── manage.py
│ │ └── templates
│ │ │ └── profile.html
│ └── requirements.txt
└── final
│ ├── bookr
│ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ ├── views.py
│ │ └── wsgi.py
│ ├── bookr_admin
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── migrations
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── tests.py
│ │ └── views.py
│ ├── fixtures
│ │ ├── machine-learning-for-algorithmic-trading.png
│ │ └── machine-learning-for-trading.pdf
│ ├── manage.py
│ ├── media
│ │ ├── book_covers
│ │ │ ├── logo.png
│ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ └── book_samples
│ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ └── main.css
│ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── api_views.py
│ │ ├── apps.py
│ │ ├── forms.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ ├── 0004_examplemodel.py
│ │ │ ├── 0005_delete_examplemodel.py
│ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── serializers.py
│ │ ├── static
│ │ │ └── reviews
│ │ │ │ └── logo.png
│ │ ├── templates
│ │ │ ├── book_list.html
│ │ │ └── reviews
│ │ │ │ ├── base.html
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── index.html
│ │ │ │ ├── instance-form.html
│ │ │ │ └── search-results.html
│ │ ├── templatetags
│ │ │ └── profile_tags.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ ├── static
│ │ ├── logo.png
│ │ └── main.css
│ └── templates
│ │ ├── base.html
│ │ ├── profile.html
│ │ └── registration
│ │ ├── logged_out.html
│ │ ├── login.html
│ │ ├── password.html
│ │ ├── password_change_done.html
│ │ ├── password_change_form.html
│ │ ├── password_reset_complete.html
│ │ ├── password_reset_confirm.html
│ │ ├── password_reset_done.html
│ │ ├── password_reset_email.html
│ │ └── password_reset_form.html
│ └── requirements.txt
├── Chapter14
├── Activity14.01
│ ├── manage.py
│ └── reviews
│ │ └── tests
│ │ ├── __init__.py
│ │ ├── test_models.py
│ │ └── test_views.py
├── Exercise14.01
│ ├── manage.py
│ └── reviews
│ │ └── tests.py
├── Exercise14.02
│ ├── bookr
│ │ └── settings.py
│ ├── bookr_test
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── tests.py
│ │ └── views.py
│ └── manage.py
├── Exercise14.03
│ ├── bookr
│ │ └── urls.py
│ ├── bookr_test
│ │ ├── tests.py
│ │ ├── urls.py
│ │ └── views.py
│ └── manage.py
├── Exercise14.04
│ ├── bookr_test
│ │ ├── tests.py
│ │ ├── urls.py
│ │ └── views.py
│ └── manage.py
├── Exercise14.05
│ ├── bookr_test
│ │ └── tests.py
│ └── manage.py
├── final
│ ├── bookr
│ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ ├── views.py
│ │ │ └── wsgi.py
│ │ ├── bookr_admin
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── migrations
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── tests.py
│ │ │ └── views.py
│ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ ├── manage.py
│ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ └── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── api_views.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── serializers.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ ├── book_list.html
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── templatetags
│ │ │ │ └── profile_tags.py
│ │ │ ├── tests
│ │ │ │ ├── __init__.py
│ │ │ │ ├── test_models.py
│ │ │ │ └── test_views.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ └── templates
│ │ │ ├── base.html
│ │ │ ├── profile.html
│ │ │ └── registration
│ │ │ ├── logged_out.html
│ │ │ ├── login.html
│ │ │ ├── password.html
│ │ │ ├── password_change_done.html
│ │ │ ├── password_change_form.html
│ │ │ ├── password_reset_complete.html
│ │ │ ├── password_reset_confirm.html
│ │ │ ├── password_reset_done.html
│ │ │ ├── password_reset_email.html
│ │ │ └── password_reset_form.html
│ └── requirements.txt
└── requirements.txt
├── Chapter15
├── Activity15.01
│ └── bookr
│ │ └── reviews
│ │ ├── forms.py
│ │ ├── templates
│ │ └── reviews
│ │ │ └── instance-form.html
│ │ ├── tests.py
│ │ └── views.py
├── Exercise15.01
│ ├── bookr
│ │ ├── bookr
│ │ │ └── settings.py
│ │ ├── env_example.py
│ │ ├── manage.py
│ │ └── reviews
│ │ │ └── tests.py
│ └── requirements.txt
├── Exercise15.02
│ ├── bookr
│ │ ├── bookr
│ │ │ └── settings.py
│ │ └── reviews
│ │ │ └── tests.py
│ └── requirements.txt
├── Exercise15.03
│ ├── bookr
│ │ ├── bookr
│ │ │ ├── settings.py
│ │ │ └── urls.py
│ │ └── reviews
│ │ │ └── tests.py
│ └── requirements.txt
├── Exercise15.04
│ ├── bookr
│ │ ├── bookr
│ │ │ └── settings.py
│ │ └── reviews
│ │ │ ├── forms.py
│ │ │ ├── templates
│ │ │ └── reviews
│ │ │ │ └── search-results.html
│ │ │ └── tests.py
│ └── requirements.txt
└── final
│ ├── bookr
│ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ ├── views.py
│ │ └── wsgi.py
│ ├── bookr_admin
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── migrations
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── tests.py
│ │ └── views.py
│ ├── fixtures
│ │ ├── machine-learning-for-algorithmic-trading.png
│ │ └── machine-learning-for-trading.pdf
│ ├── manage.py
│ ├── media
│ │ ├── book_covers
│ │ │ ├── logo.png
│ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ └── book_samples
│ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ └── main.css
│ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── api_views.py
│ │ ├── apps.py
│ │ ├── forms.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ ├── 0004_examplemodel.py
│ │ │ ├── 0005_delete_examplemodel.py
│ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── serializers.py
│ │ ├── static
│ │ │ └── reviews
│ │ │ │ └── logo.png
│ │ ├── templates
│ │ │ ├── book_list.html
│ │ │ └── reviews
│ │ │ │ ├── base.html
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── index.html
│ │ │ │ ├── instance-form.html
│ │ │ │ └── search-results.html
│ │ ├── templatetags
│ │ │ └── profile_tags.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ ├── static
│ │ ├── logo.png
│ │ └── main.css
│ └── templates
│ │ ├── base.html
│ │ ├── profile.html
│ │ └── registration
│ │ ├── logged_out.html
│ │ ├── login.html
│ │ ├── password.html
│ │ ├── password_change_done.html
│ │ ├── password_change_form.html
│ │ ├── password_reset_complete.html
│ │ ├── password_reset_confirm.html
│ │ ├── password_reset_done.html
│ │ ├── password_reset_email.html
│ │ └── password_reset_form.html
│ └── requirements.txt
├── Chapter16
├── Activity16.01
│ └── bookr
│ │ ├── bookr
│ │ └── urls.py
│ │ ├── reviews
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ └── index.html
│ │ ├── tests.py
│ │ └── views.py
│ │ ├── static
│ │ └── recent-reviews.js
│ │ └── templates
│ │ └── base.html
├── Exercise16.01
│ └── bookr
│ │ ├── bookr
│ │ └── urls.py
│ │ ├── reviews
│ │ ├── tests.py
│ │ └── views.py
│ │ ├── static
│ │ └── react-example.js
│ │ └── templates
│ │ └── react-example.html
├── Exercise16.02
│ └── bookr
│ │ ├── reviews
│ │ └── tests.py
│ │ ├── static
│ │ └── react-example.js
│ │ └── templates
│ │ └── react-example.html
├── Exercise16.03
│ └── bookr
│ │ ├── reviews
│ │ ├── tests.py
│ │ └── views.py
│ │ ├── static
│ │ └── react-example.js
│ │ └── templates
│ │ └── react-example.html
├── Exercise16.04
│ └── bookr
│ │ ├── reviews
│ │ └── tests.py
│ │ ├── static
│ │ └── react-example.js
│ │ └── templates
│ │ └── react-example.html
└── final
│ ├── bookr
│ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ ├── views.py
│ │ └── wsgi.py
│ ├── bookr_admin
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── migrations
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── tests.py
│ │ └── views.py
│ ├── fixtures
│ │ ├── machine-learning-for-algorithmic-trading.png
│ │ └── machine-learning-for-trading.pdf
│ ├── manage.py
│ ├── media
│ │ ├── book_covers
│ │ │ ├── logo.png
│ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ └── book_samples
│ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ └── main.css
│ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── api_views.py
│ │ ├── apps.py
│ │ ├── forms.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ ├── 0004_examplemodel.py
│ │ │ ├── 0005_delete_examplemodel.py
│ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── serializers.py
│ │ ├── static
│ │ │ └── reviews
│ │ │ │ └── logo.png
│ │ ├── templates
│ │ │ ├── book_list.html
│ │ │ └── reviews
│ │ │ │ ├── base.html
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── index.html
│ │ │ │ ├── instance-form.html
│ │ │ │ └── search-results.html
│ │ ├── templatetags
│ │ │ └── profile_tags.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ ├── static
│ │ ├── logo.png
│ │ ├── main.css
│ │ └── recent-reviews.js
│ └── templates
│ │ ├── base.html
│ │ ├── profile.html
│ │ └── registration
│ │ ├── logged_out.html
│ │ ├── login.html
│ │ ├── password.html
│ │ ├── password_change_done.html
│ │ ├── password_change_form.html
│ │ ├── password_reset_complete.html
│ │ ├── password_reset_confirm.html
│ │ ├── password_reset_done.html
│ │ ├── password_reset_email.html
│ │ └── password_reset_form.html
│ └── requirements.txt
├── Chapter18
├── Activity18.02
│ └── bookr
│ │ ├── reviews
│ │ └── templates
│ │ │ └── reviews
│ │ │ └── index.html
│ │ └── static
│ │ └── main.css
├── Exercise18.03
│ ├── bookr
│ │ ├── bookr
│ │ │ ├── settings.py
│ │ │ └── wsgi.py
│ │ ├── production.conf
│ │ └── requirements.txt
│ └── requirements.txt
├── Exercise18.05
│ └── bookr
│ │ └── service-conf
│ │ ├── bookr
│ │ ├── gunicorn-bookr.service
│ │ └── gunicorn-bookr.socket
└── final
│ ├── bookr
│ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ ├── views.py
│ │ └── wsgi.py
│ ├── bookr_admin
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── migrations
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── tests.py
│ │ └── views.py
│ ├── fixtures
│ │ ├── machine-learning-for-algorithmic-trading.png
│ │ └── machine-learning-for-trading.pdf
│ ├── manage.py
│ ├── media
│ │ ├── book_covers
│ │ │ ├── logo.png
│ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ └── book_samples
│ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ └── main.css
│ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── api_views.py
│ │ ├── apps.py
│ │ ├── forms.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── WebDevWithDjangoData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ ├── 0004_examplemodel.py
│ │ │ ├── 0005_delete_examplemodel.py
│ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── serializers.py
│ │ ├── static
│ │ │ └── reviews
│ │ │ │ └── logo.png
│ │ ├── templates
│ │ │ ├── book_list.html
│ │ │ └── reviews
│ │ │ │ ├── base.html
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── index.html
│ │ │ │ ├── instance-form.html
│ │ │ │ └── search-results.html
│ │ ├── templatetags
│ │ │ └── profile_tags.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ ├── service-conf
│ │ ├── bookr
│ │ ├── gunicorn-bookr.service
│ │ └── gunicorn-bookr.socket
│ ├── static
│ │ ├── logo.png
│ │ ├── main.css
│ │ └── recent-reviews.js
│ └── templates
│ │ ├── base.html
│ │ ├── profile.html
│ │ └── registration
│ │ ├── logged_out.html
│ │ ├── login.html
│ │ ├── password.html
│ │ ├── password_change_done.html
│ │ ├── password_change_form.html
│ │ ├── password_reset_complete.html
│ │ ├── password_reset_confirm.html
│ │ ├── password_reset_done.html
│ │ ├── password_reset_email.html
│ │ └── password_reset_form.html
│ └── requirements.txt
├── LICENSE
├── Old Code Backup
├── OLD_Chapter14
│ └── OLD_Chapter14
│ │ ├── Activity14.01
│ │ └── bookr
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ └── wsgi.py
│ │ │ ├── manage.py
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── api_views.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── serializers.py
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests
│ │ │ │ ├── __init__.py
│ │ │ │ ├── test_apis.py
│ │ │ │ ├── test_forms.py
│ │ │ │ ├── test_models.py
│ │ │ │ └── test_views.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ └── templates
│ │ │ └── base.html
│ │ ├── Exercise14.01
│ │ └── bookr
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ └── wsgi.py
│ │ │ ├── manage.py
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── api_views.py
│ │ │ ├── apps.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── serializers.py
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests
│ │ │ │ ├── __init__.py
│ │ │ │ └── test_simple.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ └── templates
│ │ │ └── base.html
│ │ ├── Exercise14.02
│ │ └── bookr
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ └── wsgi.py
│ │ │ ├── manage.py
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── api_views.py
│ │ │ ├── apps.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── serializers.py
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests
│ │ │ │ ├── __init__.py
│ │ │ │ └── test_models.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ └── templates
│ │ │ └── base.html
│ │ ├── Exercise14.03
│ │ └── bookr
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ └── wsgi.py
│ │ │ ├── manage.py
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── api_views.py
│ │ │ ├── apps.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── serializers.py
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests
│ │ │ │ ├── __init__.py
│ │ │ │ ├── test_models.py
│ │ │ │ └── test_views.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ └── templates
│ │ │ └── base.html
│ │ ├── Exercise14.04
│ │ └── bookr
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ └── wsgi.py
│ │ │ ├── manage.py
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── api_views.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── serializers.py
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests
│ │ │ │ ├── __init__.py
│ │ │ │ ├── test_forms.py
│ │ │ │ ├── test_models.py
│ │ │ │ └── test_views.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ └── templates
│ │ │ └── base.html
│ │ ├── Exercise14.05
│ │ └── bookr
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ └── wsgi.py
│ │ │ ├── geckodriver.log
│ │ │ ├── manage.py
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── api_views.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── serializers.py
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests
│ │ │ │ ├── __init__.py
│ │ │ │ ├── geckodriver
│ │ │ │ ├── test_apis.py
│ │ │ │ ├── test_forms.py
│ │ │ │ ├── test_functional.py
│ │ │ │ ├── test_models.py
│ │ │ │ └── test_views.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ └── templates
│ │ │ └── base.html
│ │ └── final
│ │ └── bookr
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── geckodriver.log
│ │ ├── manage.py
│ │ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── api_views.py
│ │ ├── apps.py
│ │ ├── forms.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── serializers.py
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ └── search-results.html
│ │ ├── tests
│ │ │ ├── __init__.py
│ │ │ ├── geckodriver
│ │ │ ├── test_apis.py
│ │ │ ├── test_forms.py
│ │ │ ├── test_functional.py
│ │ │ ├── test_models.py
│ │ │ └── test_views.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
└── chapters9,10,11
│ ├── _newChapter09
│ ├── Activity8.01
│ │ └── bookr
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ └── wsgi.py
│ │ │ ├── db.sqlite3.chap7
│ │ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ │ ├── manage.py
│ │ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ └── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ │ └── templates
│ │ │ ├── .new
│ │ │ ├── index.html
│ │ │ ├── profile.html
│ │ │ ├── register.html
│ │ │ └── update.html
│ │ │ ├── base.html
│ │ │ └── registration
│ │ │ ├── .new
│ │ │ ├── _reset.html
│ │ │ └── base.html
│ │ │ ├── logged_out.html
│ │ │ ├── login.html
│ │ │ ├── password.html
│ │ │ ├── password_change_done.html
│ │ │ ├── password_change_form.html
│ │ │ ├── password_reset_complete.html
│ │ │ ├── password_reset_confirm.html
│ │ │ ├── password_reset_done.html
│ │ │ ├── password_reset_email.html
│ │ │ └── password_reset_form.html
│ ├── Activity8.02
│ │ └── bookr
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ ├── views.py
│ │ │ └── wsgi.py
│ │ │ ├── db.sqlite3.chap7
│ │ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ │ ├── manage.py
│ │ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ └── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ │ └── templates
│ │ │ ├── .new
│ │ │ ├── index.html
│ │ │ ├── profile.html
│ │ │ ├── register.html
│ │ │ └── update.html
│ │ │ ├── base.html
│ │ │ ├── profile.html
│ │ │ └── registration
│ │ │ ├── .new
│ │ │ ├── _reset.html
│ │ │ └── base.html
│ │ │ ├── logged_out.html
│ │ │ ├── login.html
│ │ │ ├── password.html
│ │ │ ├── password_change_done.html
│ │ │ ├── password_change_form.html
│ │ │ ├── password_reset_complete.html
│ │ │ ├── password_reset_confirm.html
│ │ │ ├── password_reset_done.html
│ │ │ ├── password_reset_email.html
│ │ │ └── password_reset_form.html
│ ├── Exercise8.01
│ │ └── bookr
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ └── wsgi.py
│ │ │ ├── db.sqlite3.chap7
│ │ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ │ ├── manage.py
│ │ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ └── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ │ └── templates
│ │ │ ├── .new
│ │ │ ├── index.html
│ │ │ ├── profile.html
│ │ │ ├── register.html
│ │ │ └── update.html
│ │ │ ├── base.html
│ │ │ └── registration
│ │ │ ├── .new
│ │ │ ├── _reset.html
│ │ │ └── base.html
│ │ │ ├── logged_out.html
│ │ │ └── login.html
│ ├── Exercise8.02
│ │ └── bookr
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ ├── views.py
│ │ │ └── wsgi.py
│ │ │ ├── db.sqlite3.chap7
│ │ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ │ ├── manage.py
│ │ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ └── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ │ └── templates
│ │ │ ├── .new
│ │ │ ├── index.html
│ │ │ ├── profile.html
│ │ │ ├── register.html
│ │ │ └── update.html
│ │ │ ├── base.html
│ │ │ ├── profile.html
│ │ │ └── registration
│ │ │ ├── .new
│ │ │ ├── _reset.html
│ │ │ └── base.html
│ │ │ ├── logged_out.html
│ │ │ ├── login.html
│ │ │ ├── password.html
│ │ │ ├── password_change_done.html
│ │ │ ├── password_change_form.html
│ │ │ ├── password_reset_complete.html
│ │ │ ├── password_reset_confirm.html
│ │ │ ├── password_reset_done.html
│ │ │ ├── password_reset_email.html
│ │ │ └── password_reset_form.html
│ ├── Exercise8.03
│ │ └── bookr
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ ├── views.py
│ │ │ └── wsgi.py
│ │ │ ├── db.sqlite3.chap7
│ │ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ │ ├── manage.py
│ │ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ └── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ │ └── templates
│ │ │ ├── .new
│ │ │ ├── index.html
│ │ │ ├── profile.html
│ │ │ ├── register.html
│ │ │ └── update.html
│ │ │ ├── base.html
│ │ │ ├── profile.html
│ │ │ └── registration
│ │ │ ├── .new
│ │ │ ├── _reset.html
│ │ │ └── base.html
│ │ │ ├── logged_out.html
│ │ │ ├── login.html
│ │ │ ├── password.html
│ │ │ ├── password_change_done.html
│ │ │ ├── password_change_form.html
│ │ │ ├── password_reset_complete.html
│ │ │ ├── password_reset_confirm.html
│ │ │ ├── password_reset_done.html
│ │ │ ├── password_reset_email.html
│ │ │ └── password_reset_form.html
│ ├── Exercise8.04
│ │ └── bookr
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ ├── views.py
│ │ │ └── wsgi.py
│ │ │ ├── db.sqlite3.chap7
│ │ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ │ ├── manage.py
│ │ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ └── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ │ └── templates
│ │ │ ├── .new
│ │ │ ├── index.html
│ │ │ ├── profile.html
│ │ │ ├── register.html
│ │ │ └── update.html
│ │ │ ├── base.html
│ │ │ ├── profile.html
│ │ │ └── registration
│ │ │ ├── .new
│ │ │ ├── _reset.html
│ │ │ └── base.html
│ │ │ ├── logged_out.html
│ │ │ ├── login.html
│ │ │ ├── password.html
│ │ │ ├── password_change_done.html
│ │ │ ├── password_change_form.html
│ │ │ ├── password_reset_complete.html
│ │ │ ├── password_reset_confirm.html
│ │ │ ├── password_reset_done.html
│ │ │ ├── password_reset_email.html
│ │ │ └── password_reset_form.html
│ ├── Exercise8.05
│ │ └── bookr
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ ├── views.py
│ │ │ └── wsgi.py
│ │ │ ├── db.sqlite3.chap7
│ │ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ │ ├── manage.py
│ │ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ └── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ │ └── templates
│ │ │ ├── .new
│ │ │ ├── index.html
│ │ │ ├── profile.html
│ │ │ ├── register.html
│ │ │ └── update.html
│ │ │ ├── base.html
│ │ │ ├── profile.html
│ │ │ └── registration
│ │ │ ├── .new
│ │ │ ├── _reset.html
│ │ │ └── base.html
│ │ │ ├── logged_out.html
│ │ │ ├── login.html
│ │ │ ├── password.html
│ │ │ ├── password_change_done.html
│ │ │ ├── password_change_form.html
│ │ │ ├── password_reset_complete.html
│ │ │ ├── password_reset_confirm.html
│ │ │ ├── password_reset_done.html
│ │ │ ├── password_reset_email.html
│ │ │ └── password_reset_form.html
│ ├── README
│ └── final
│ │ └── bookr
│ │ ├── admin.py
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ ├── views.py
│ │ └── wsgi.py
│ │ ├── fixtures
│ │ ├── machine-learning-for-algorithmic-trading.png
│ │ └── machine-learning-for-trading.pdf
│ │ ├── manage.py
│ │ ├── media
│ │ ├── book_covers
│ │ │ ├── logo.png
│ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ └── book_samples
│ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ └── main.css
│ │ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── forms.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ ├── 0004_examplemodel.py
│ │ │ ├── 0005_delete_examplemodel.py
│ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── static
│ │ │ └── reviews
│ │ │ │ └── logo.png
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── base.html
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── index.html
│ │ │ │ ├── instance-form.html
│ │ │ │ └── search-results.html
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ │ ├── static
│ │ ├── logo.png
│ │ └── main.css
│ │ └── templates
│ │ ├── base.html
│ │ ├── profile.html
│ │ └── registration
│ │ ├── logged_out.html
│ │ ├── login.html
│ │ ├── password.html
│ │ ├── password_change_done.html
│ │ ├── password_change_form.html
│ │ ├── password_reset_complete.html
│ │ ├── password_reset_confirm.html
│ │ ├── password_reset_done.html
│ │ ├── password_reset_email.html
│ │ └── password_reset_form.html
│ ├── _newChapter10
│ ├── Activity01
│ │ └── bookr
│ │ │ ├── admin.py
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ ├── views.py
│ │ │ └── wsgi.py
│ │ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ │ ├── login.html
│ │ │ ├── manage.py
│ │ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ ├── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ │ └── profile_photos
│ │ │ │ └── tolstoy.jpg
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ ├── 0007_auto_20200205_0450.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ │ └── templates
│ │ │ ├── base.html
│ │ │ ├── profile.html
│ │ │ └── registration
│ │ │ ├── logged_out.html
│ │ │ ├── login.html
│ │ │ ├── password.html
│ │ │ ├── password_change_done.html
│ │ │ ├── password_change_form.html
│ │ │ ├── password_reset_complete.html
│ │ │ ├── password_reset_confirm.html
│ │ │ ├── password_reset_done.html
│ │ │ ├── password_reset_email.html
│ │ │ └── password_reset_form.html
│ ├── Activity02
│ │ └── bookr
│ │ │ ├── admin.py
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ ├── views.py
│ │ │ └── wsgi.py
│ │ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ │ ├── login.html
│ │ │ ├── manage.py
│ │ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ ├── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ │ └── profile_photos
│ │ │ │ └── tolstoy.jpg
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ ├── 0007_auto_20200205_0450.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ │ └── templates
│ │ │ ├── base.html
│ │ │ ├── profile.html
│ │ │ └── registration
│ │ │ ├── logged_out.html
│ │ │ ├── login.html
│ │ │ ├── password.html
│ │ │ ├── password_change_done.html
│ │ │ ├── password_change_form.html
│ │ │ ├── password_reset_complete.html
│ │ │ ├── password_reset_confirm.html
│ │ │ ├── password_reset_done.html
│ │ │ ├── password_reset_email.html
│ │ │ └── password_reset_form.html
│ ├── Exercise01
│ │ └── bookr
│ │ │ ├── admin.py
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ ├── views.py
│ │ │ └── wsgi.py
│ │ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ │ ├── manage.py
│ │ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ └── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ ├── DjangoWorkshopReviewsData.csv
│ │ │ │ │ ├── DjangoWorkshopReviewsData.py
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ │ ├── templates
│ │ │ ├── base.html
│ │ │ ├── profile.html
│ │ │ └── registration
│ │ │ │ ├── logged_out.html
│ │ │ │ ├── login.html
│ │ │ │ ├── password.html
│ │ │ │ ├── password_change_done.html
│ │ │ │ ├── password_change_form.html
│ │ │ │ ├── password_reset_complete.html
│ │ │ │ ├── password_reset_confirm.html
│ │ │ │ ├── password_reset_done.html
│ │ │ │ ├── password_reset_email.html
│ │ │ │ └── password_reset_form.html
│ │ │ └── titledusers
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── migrations
│ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── tests.py
│ │ │ └── views.py
│ ├── Exercise02
│ │ └── bookr
│ │ │ ├── admin.py
│ │ │ ├── bookr
│ │ │ ├── __init__.py
│ │ │ ├── asgi.py
│ │ │ ├── settings.py
│ │ │ ├── urls.py
│ │ │ ├── views.py
│ │ │ └── wsgi.py
│ │ │ ├── fixtures
│ │ │ ├── machine-learning-for-algorithmic-trading.png
│ │ │ └── machine-learning-for-trading.pdf
│ │ │ ├── login.html
│ │ │ ├── manage.py
│ │ │ ├── media
│ │ │ ├── book_covers
│ │ │ │ ├── logo.png
│ │ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ │ ├── book_samples
│ │ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ │ └── main.css
│ │ │ └── profile_photos
│ │ │ │ └── tolstoy.jpg
│ │ │ ├── reviews
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── forms.py
│ │ │ ├── management
│ │ │ │ └── commands
│ │ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ │ └── loadcsv.py
│ │ │ ├── migrations
│ │ │ │ ├── 0001_initial.py
│ │ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ │ ├── 0004_examplemodel.py
│ │ │ │ ├── 0005_delete_examplemodel.py
│ │ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ │ ├── 0007_auto_20200205_0450.py
│ │ │ │ └── __init__.py
│ │ │ ├── models.py
│ │ │ ├── static
│ │ │ │ └── reviews
│ │ │ │ │ └── logo.png
│ │ │ ├── templates
│ │ │ │ └── reviews
│ │ │ │ │ ├── base.html
│ │ │ │ │ ├── book_detail.html
│ │ │ │ │ ├── book_list.html
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── instance-form.html
│ │ │ │ │ └── search-results.html
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ └── views.py
│ │ │ ├── static
│ │ │ ├── logo.png
│ │ │ └── main.css
│ │ │ └── templates
│ │ │ ├── base.html
│ │ │ ├── profile.html
│ │ │ └── registration
│ │ │ ├── logged_out.html
│ │ │ ├── login.html
│ │ │ ├── password.html
│ │ │ ├── password_change_done.html
│ │ │ ├── password_change_form.html
│ │ │ ├── password_reset_complete.html
│ │ │ ├── password_reset_confirm.html
│ │ │ ├── password_reset_done.html
│ │ │ ├── password_reset_email.html
│ │ │ └── password_reset_form.html
│ └── initial
│ │ └── bookr
│ │ ├── admin.py
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ ├── views.py
│ │ └── wsgi.py
│ │ ├── fixtures
│ │ ├── machine-learning-for-algorithmic-trading.png
│ │ └── machine-learning-for-trading.pdf
│ │ ├── manage.py
│ │ ├── media
│ │ ├── book_covers
│ │ │ ├── logo.png
│ │ │ ├── machine-learning-for-algorithmic-trading_6NSmBRk.png
│ │ │ └── machine-learning-for-algorithmic-trading_PAm2uE3.png
│ │ └── book_samples
│ │ │ ├── machine-learning-for-trading_572jJkh.pdf
│ │ │ ├── machine-learning-for-trading_Wk6Qiab.pdf
│ │ │ └── main.css
│ │ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── forms.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ ├── DjangoWorkshopReviewsData.csv
│ │ │ │ ├── DjangoWorkshopReviewsData.py
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ ├── 0004_examplemodel.py
│ │ │ ├── 0005_delete_examplemodel.py
│ │ │ ├── 0006_auto_20200123_2252.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── static
│ │ │ └── reviews
│ │ │ │ └── logo.png
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── base.html
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── index.html
│ │ │ │ ├── instance-form.html
│ │ │ │ └── search-results.html
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ │ ├── static
│ │ ├── logo.png
│ │ └── main.css
│ │ └── templates
│ │ ├── base.html
│ │ ├── profile.html
│ │ └── registration
│ │ ├── logged_out.html
│ │ ├── login.html
│ │ ├── password.html
│ │ ├── password_change_done.html
│ │ ├── password_change_form.html
│ │ ├── password_reset_complete.html
│ │ ├── password_reset_confirm.html
│ │ ├── password_reset_done.html
│ │ ├── password_reset_email.html
│ │ └── password_reset_form.html
│ └── _newChapter11
│ ├── Activity11.01
│ └── bookr
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── manage.py
│ │ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── recent_books.html
│ │ │ │ └── search-results.html
│ │ ├── templatetags
│ │ │ ├── __init__.py
│ │ │ └── review_tags.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
│ ├── Exercise11.01
│ └── bookr
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── manage.py
│ │ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── recent_books.html
│ │ │ │ └── search-results.html
│ │ ├── templatetags
│ │ │ ├── __init__.py
│ │ │ └── review_tags.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
│ ├── Exercise11.02
│ └── bookr
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── manage.py
│ │ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── recent_books.html
│ │ │ │ └── search-results.html
│ │ ├── templatetags
│ │ │ ├── __init__.py
│ │ │ └── review_tags.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
│ ├── Exercise11.03
│ └── bookr
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── manage.py
│ │ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── recent_books.html
│ │ │ │ └── search-results.html
│ │ ├── templatetags
│ │ │ ├── __init__.py
│ │ │ └── review_tags.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
│ ├── Exercise11.04
│ └── bookr
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── manage.py
│ │ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── recent_books.html
│ │ │ │ └── search-results.html
│ │ ├── templatetags
│ │ │ ├── __init__.py
│ │ │ └── review_tags.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
│ ├── Exercise11.05
│ └── bookr
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── manage.py
│ │ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── recent_books.html
│ │ │ │ └── search-results.html
│ │ ├── templatetags
│ │ │ ├── __init__.py
│ │ │ └── review_tags.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
│ ├── Exercise11.06
│ └── bookr
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── manage.py
│ │ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── recent_books.html
│ │ │ │ ├── search-results.html
│ │ │ │ └── welcome_page.html
│ │ ├── templatetags
│ │ │ ├── __init__.py
│ │ │ └── review_tags.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
│ ├── Exercise11.07
│ └── bookr
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── manage.py
│ │ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── forms.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── base.html
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── instance-form.html
│ │ │ │ ├── recent_books.html
│ │ │ │ ├── search-results.html
│ │ │ │ └── welcome_page.html
│ │ ├── templatetags
│ │ │ ├── __init__.py
│ │ │ └── review_tags.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
│ ├── Exercise11.08
│ └── bookr
│ │ ├── bookr
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ │ ├── manage.py
│ │ ├── reviews
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── forms.py
│ │ ├── management
│ │ │ └── commands
│ │ │ │ ├── DjangoWorkshopData.csv
│ │ │ │ └── loadcsv.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20191007_0112.py
│ │ │ ├── 0003_auto_20191227_0751.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── templates
│ │ │ └── reviews
│ │ │ │ ├── base.html
│ │ │ │ ├── book_detail.html
│ │ │ │ ├── book_list.html
│ │ │ │ ├── delete-review.html
│ │ │ │ ├── instance-form.html
│ │ │ │ ├── recent_books.html
│ │ │ │ ├── search-results.html
│ │ │ │ └── welcome_page.html
│ │ ├── templatetags
│ │ │ ├── __init__.py
│ │ │ └── review_tags.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ │ └── templates
│ │ └── base.html
│ └── final
│ └── bookr
│ ├── bookr
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
│ ├── manage.py
│ ├── reviews
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── management
│ │ └── commands
│ │ │ ├── DjangoWorkshopData.csv
│ │ │ └── loadcsv.py
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── 0002_auto_20191007_0112.py
│ │ ├── 0003_auto_20191227_0751.py
│ │ └── __init__.py
│ ├── models.py
│ ├── templates
│ │ └── reviews
│ │ │ ├── base.html
│ │ │ ├── book_detail.html
│ │ │ ├── book_list.html
│ │ │ ├── delete-review.html
│ │ │ ├── instance-form.html
│ │ │ ├── recent_books.html
│ │ │ ├── search-results.html
│ │ │ └── welcome_page.html
│ ├── templatetags
│ │ ├── __init__.py
│ │ └── review_tags.py
│ ├── tests.py
│ ├── urls.py
│ ├── utils.py
│ └── views.py
│ └── templates
│ └── base.html
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | __pycache__
3 | db.sqlite3
4 | .idea
5 |
--------------------------------------------------------------------------------
/Chapter01/Activity1.01/reviews/templates/base.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Welcome to Bookr
6 |
7 |
8 | Welcome to Bookr
9 |
10 |
--------------------------------------------------------------------------------
/Chapter01/Activity1.01/reviews/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 |
4 | def index(request):
5 | return render(request, "base.html")
6 |
--------------------------------------------------------------------------------
/Chapter01/Exercise1.01/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter01/Exercise1.01/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter01/Exercise1.01/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter01/Exercise1.01/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter01/Exercise1.01/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter01/Exercise1.01/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Chapter01/Exercise1.01/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter01/Exercise1.01/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter01/Exercise1.01/bookr/reviews/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter01/Exercise1.01/bookr/reviews/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter01/Exercise1.03/bookr/reviews/views.py:
--------------------------------------------------------------------------------
1 | from django.http import HttpResponse
2 |
3 |
4 | def index(request):
5 | return HttpResponse("Hello, world!")
6 |
--------------------------------------------------------------------------------
/Chapter01/Exercise1.04/bookr/reviews/views.py:
--------------------------------------------------------------------------------
1 | from django.http import HttpResponse
2 |
3 |
4 | def index(request):
5 | name = request.GET.get("name") or "world"
6 | return HttpResponse("Hello, {}!".format(name))
7 |
--------------------------------------------------------------------------------
/Chapter01/Exercise1.05/bookr/reviews/templates/base.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Title
6 |
7 |
8 | Hello from a template!
9 |
10 |
--------------------------------------------------------------------------------
/Chapter01/Exercise1.06/bookr/reviews/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 |
4 | def index(request):
5 | return render(request, "base.html")
6 |
--------------------------------------------------------------------------------
/Chapter01/Exercise1.07/bookr/reviews/templates/base.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Title
6 |
7 |
8 | Hello, {{ name }}!
9 |
10 |
--------------------------------------------------------------------------------
/Chapter01/Exercise1.07/bookr/reviews/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 |
4 | def index(request):
5 | name = "world"
6 | return render(request, "base.html", {"name": name})
7 |
--------------------------------------------------------------------------------
/Chapter01/Exercise1.08/bookr/reviews/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 |
4 | def index(request):
5 | name = "world"
6 | return render(request, "base.html", {"name": invalid_name})
7 |
--------------------------------------------------------------------------------
/Chapter01/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter01/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter01/final/bookr/db.sqlite3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter01/final/bookr/db.sqlite3
--------------------------------------------------------------------------------
/Chapter01/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter01/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter01/final/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter01/final/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Chapter01/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter01/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter01/final/bookr/reviews/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter01/final/bookr/reviews/templates/base.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Welcome to Bookr
6 |
7 |
8 | Welcome to Bookr
9 |
10 |
--------------------------------------------------------------------------------
/Chapter02/Activity2.01/juggler/juggler/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter02/Activity2.01/juggler/juggler/__init__.py
--------------------------------------------------------------------------------
/Chapter02/Activity2.01/juggler/projectm/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter02/Activity2.01/juggler/projectm/__init__.py
--------------------------------------------------------------------------------
/Chapter02/Activity2.01/juggler/projectm/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter02/Activity2.01/juggler/projectm/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ProjectmConfig(AppConfig):
5 | name = 'projectm'
6 |
--------------------------------------------------------------------------------
/Chapter02/Activity2.01/juggler/projectm/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter02/Activity2.01/juggler/projectm/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter02/Activity2.01/juggler/projectm/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter02/Activity2.01/juggler/projectm/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter02/Exercise2.03/exercise2.03.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | from reviews.models import Contributor
4 |
5 | contributor = Contributor.objects.create(first_names='Rowel', last_names='Atienza', email='RowelAtienza@example.com')
6 |
--------------------------------------------------------------------------------
/Chapter02/Exercise2.07/exercise2.07.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | from reviews.models import Publisher
4 |
5 | publisher = Publisher.objects.get(name='Pocket Books')
6 |
--------------------------------------------------------------------------------
/Chapter02/Exercise2.08/exercise2.08.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | from reviews.models import Contributor
4 |
5 | contributors = Contributor.objects.all()
6 |
--------------------------------------------------------------------------------
/Chapter02/Exercise2.10/exercise2.10.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | from reviews.models import Contributor
4 |
5 | Contributor.objects.filter(book__title='The Talisman')
6 |
--------------------------------------------------------------------------------
/Chapter02/Exercise2.11/exercise2.11.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | from reviews.models import Book
4 |
5 | book = Book.objects.get(title='The Talisman')
6 |
7 | book.contributors.all()
--------------------------------------------------------------------------------
/Chapter02/Exercise2.12/exercise2.12.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | from reviews.models import Contributor
4 |
5 | contributor = Contributor.objects.get(first_names='Rowel')
6 |
7 | contributor.book_set.all()
8 |
--------------------------------------------------------------------------------
/Chapter02/Exercise2.14/exercise2.14.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | from reviews.models import Contributor
4 |
5 | Contributor.objects.get(last_names='Wharton').delete()
6 |
7 | Contributor.objects.get(last_names='Wharton')
8 |
--------------------------------------------------------------------------------
/Chapter02/final/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter02/final/__init__.py
--------------------------------------------------------------------------------
/Chapter02/final/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter02/final/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter02/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter02/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter02/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter02/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter02/final/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter02/final/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Chapter02/final/bookr/reviews/management/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter02/final/bookr/reviews/management/__init__.py
--------------------------------------------------------------------------------
/Chapter02/final/bookr/reviews/management/commands/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter02/final/bookr/reviews/management/commands/__init__.py
--------------------------------------------------------------------------------
/Chapter02/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter02/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter02/final/bookr/reviews/templates/base.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Welcome to Bookr
6 |
7 |
8 | Welcome to Bookr
9 |
10 |
--------------------------------------------------------------------------------
/Chapter03/Activity3.01/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/Activity3.01/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter03/Activity3.01/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/Activity3.01/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter03/Activity3.01/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter03/Activity3.01/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Chapter03/Activity3.01/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/Activity3.01/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter03/Activity3.01/bookr/reviews/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter03/Activity3.01/bookr/reviews/urls.py:
--------------------------------------------------------------------------------
1 | from django.urls import path
2 | from . import views
3 |
4 | urlpatterns = [
5 | path('books', views.book_list, name='book_list'),
6 | path('books//', views.book_detail, name='book_detail')
7 | ]
8 |
--------------------------------------------------------------------------------
/Chapter03/Activity3.01/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.01/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/Exercise3.01/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter03/Exercise3.01/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/Exercise3.01/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter03/Exercise3.01/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.01/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.01/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/Exercise3.01/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter03/Exercise3.01/bookr/reviews/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.01/bookr/reviews/urls.py:
--------------------------------------------------------------------------------
1 | from django.urls import path
2 | from . import views
3 |
4 | urlpatterns = [
5 | path('', views.welcome_view, name='welcome'),
6 | ]
7 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.02/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/Exercise3.02/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter03/Exercise3.02/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/Exercise3.02/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter03/Exercise3.02/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.02/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.02/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/Exercise3.02/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter03/Exercise3.02/bookr/reviews/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.02/bookr/reviews/urls.py:
--------------------------------------------------------------------------------
1 | from django.urls import path
2 | from . import views
3 |
4 | urlpatterns = [
5 | path('', views.simple_template_view, name='template_view'),
6 | ]
7 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.02/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.02/bookr/reviews/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 |
4 | def simple_template_view(request):
5 | return render(request, 'base.html')
6 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.03/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/Exercise3.03/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter03/Exercise3.03/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/Exercise3.03/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter03/Exercise3.03/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.03/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.03/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/Exercise3.03/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter03/Exercise3.03/bookr/reviews/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.03/bookr/reviews/urls.py:
--------------------------------------------------------------------------------
1 | from django.urls import path
2 | from . import views
3 |
4 | urlpatterns = [
5 | path('books/', views.book_list, name='book_list')
6 | ]
7 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.03/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
--------------------------------------------------------------------------------
/Chapter03/Exercise3.04/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/Exercise3.04/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter03/Exercise3.04/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/Exercise3.04/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter03/Exercise3.04/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.04/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.04/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/Exercise3.04/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter03/Exercise3.04/bookr/reviews/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.04/bookr/reviews/urls.py:
--------------------------------------------------------------------------------
1 | from django.urls import path
2 | from . import views
3 |
4 | urlpatterns = [
5 | path('books/', views.book_list, name='book_list'),
6 | ]
7 |
--------------------------------------------------------------------------------
/Chapter03/Exercise3.04/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
--------------------------------------------------------------------------------
/Chapter03/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter03/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter03/final/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter03/final/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Chapter03/final/bookr/reviews/management/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/final/bookr/reviews/management/__init__.py
--------------------------------------------------------------------------------
/Chapter03/final/bookr/reviews/management/commands/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/final/bookr/reviews/management/commands/__init__.py
--------------------------------------------------------------------------------
/Chapter03/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter03/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter03/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Chapter04/Activity4.01/comment8or/comment8or/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter04/Activity4.01/comment8or/comment8or/__init__.py
--------------------------------------------------------------------------------
/Chapter04/Activity4.01/comment8or/messageboard/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter04/Activity4.01/comment8or/messageboard/__init__.py
--------------------------------------------------------------------------------
/Chapter04/Activity4.01/comment8or/messageboard/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter04/Activity4.01/comment8or/messageboard/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter04/Activity4.01/comment8or/messageboard/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter04/Activity4.01/comment8or/messageboard/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter04/Activity4.01/comment8or/messageboard/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter04/Activity4.01/comment8or/messageboard/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter04/CustomisingTheModelClass/bookr/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | class BookrAdminSite(admin.AdminSite):
4 | title_header = 'Bookr Admin'
5 | site_header = 'Bookr administration'
6 | index_title = 'Bookr site admin'
7 |
8 |
--------------------------------------------------------------------------------
/Chapter04/final/bookr/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | class BookrAdminSite(admin.AdminSite):
4 | title_header = 'Bookr Admin'
5 | site_header = 'Bookr administration'
6 | index_title = 'Bookr site admin'
7 |
8 |
--------------------------------------------------------------------------------
/Chapter04/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter04/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter04/final/bookr/requirements.txt:
--------------------------------------------------------------------------------
1 | Django==3.0a1
2 |
--------------------------------------------------------------------------------
/Chapter04/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter04/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter04/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter04/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter04/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Chapter04/final/comment8or/comment8or/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter04/final/comment8or/comment8or/__init__.py
--------------------------------------------------------------------------------
/Chapter04/final/comment8or/messageboard/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter04/final/comment8or/messageboard/__init__.py
--------------------------------------------------------------------------------
/Chapter04/final/comment8or/messageboard/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter04/final/comment8or/messageboard/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter04/final/comment8or/messageboard/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter04/final/comment8or/messageboard/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter04/final/comment8or/messageboard/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter04/final/comment8or/messageboard/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter05/Activity5.01/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/Activity5.01/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter05/Activity5.01/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
--------------------------------------------------------------------------------
/Chapter05/Activity5.03/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/Activity5.03/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter05/Exercise5.01/business_site/business_site/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/Exercise5.01/business_site/business_site/__init__.py
--------------------------------------------------------------------------------
/Chapter05/Exercise5.01/business_site/landing/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/Exercise5.01/business_site/landing/__init__.py
--------------------------------------------------------------------------------
/Chapter05/Exercise5.01/business_site/landing/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter05/Exercise5.01/business_site/landing/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class LandingConfig(AppConfig):
5 | name = 'landing'
6 |
--------------------------------------------------------------------------------
/Chapter05/Exercise5.01/business_site/landing/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/Exercise5.01/business_site/landing/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter05/Exercise5.01/business_site/landing/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter05/Exercise5.01/business_site/landing/static/landing/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/Exercise5.01/business_site/landing/static/landing/logo.png
--------------------------------------------------------------------------------
/Chapter05/Exercise5.01/business_site/landing/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter05/Exercise5.03/business_site/static/main.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | text-align: center;
4 | background-color: #f0f0f0;
5 | }
6 |
--------------------------------------------------------------------------------
/Chapter05/Exercise5.04/business_site/static_production_test/landing/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/Exercise5.04/business_site/static_production_test/landing/logo.png
--------------------------------------------------------------------------------
/Chapter05/Exercise5.04/business_site/static_production_test/main.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | text-align: center;
4 | background-color: #f0f0f0;
5 | }
6 |
--------------------------------------------------------------------------------
/Chapter05/Exercise5.06/business_site/static_production_test/landing/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/Exercise5.06/business_site/static_production_test/landing/logo.png
--------------------------------------------------------------------------------
/Chapter05/Exercise5.06/business_site/static_production_test/main.856c74fb7029.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | text-align: center;
4 | background-color: #f0f0f0;
5 | }
6 |
--------------------------------------------------------------------------------
/Chapter05/Exercise5.06/business_site/static_production_test/main.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | text-align: center;
4 | background-color: #f0f0f0;
5 | }
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Chapter05/Exercise5.06/business_site/static_production_test/main.df1234ac4e63.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | text-align: center;
4 | background-color: #f0f0f0;
5 | }
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Chapter05/final/bookr/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | class BookrAdminSite(admin.AdminSite):
4 | title_header = 'Bookr Admin'
5 | site_header = 'Bookr administration'
6 | index_title = 'Bookr site admin'
7 |
8 |
--------------------------------------------------------------------------------
/Chapter05/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter05/final/bookr/requirements.txt:
--------------------------------------------------------------------------------
1 | Django==3.0a1
2 |
--------------------------------------------------------------------------------
/Chapter05/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter05/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter05/final/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/final/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter05/final/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
--------------------------------------------------------------------------------
/Chapter05/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Chapter05/final/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/final/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter05/final/business_site/business_site/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/final/business_site/business_site/__init__.py
--------------------------------------------------------------------------------
/Chapter05/final/business_site/landing/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/final/business_site/landing/__init__.py
--------------------------------------------------------------------------------
/Chapter05/final/business_site/landing/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter05/final/business_site/landing/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class LandingConfig(AppConfig):
5 | name = 'landing'
6 |
--------------------------------------------------------------------------------
/Chapter05/final/business_site/landing/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/final/business_site/landing/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter05/final/business_site/landing/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter05/final/business_site/landing/static/landing/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/final/business_site/landing/static/landing/logo.png
--------------------------------------------------------------------------------
/Chapter05/final/business_site/landing/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter05/final/business_site/static/main.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | text-align: center;
4 | background-color: #f0f0f0;
5 | }
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Chapter05/final/business_site/static_production_test/landing/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter05/final/business_site/static_production_test/landing/logo.png
--------------------------------------------------------------------------------
/Chapter05/final/business_site/static_production_test/main.856c74fb7029.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | text-align: center;
4 | background-color: #f0f0f0;
5 | }
6 |
--------------------------------------------------------------------------------
/Chapter05/final/business_site/static_production_test/main.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | text-align: center;
4 | background-color: #f0f0f0;
5 | }
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Chapter05/final/business_site/static_production_test/main.df1234ac4e63.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Arial, sans-serif;
3 | text-align: center;
4 | background-color: #f0f0f0;
5 | }
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Chapter06/Exercise6.01/form_project/form_example/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter06/Exercise6.01/form_project/form_example/__init__.py
--------------------------------------------------------------------------------
/Chapter06/Exercise6.01/form_project/form_example/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter06/Exercise6.01/form_project/form_example/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class FormExampleConfig(AppConfig):
5 | name = 'form_example'
6 |
--------------------------------------------------------------------------------
/Chapter06/Exercise6.01/form_project/form_example/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter06/Exercise6.01/form_project/form_example/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter06/Exercise6.01/form_project/form_example/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter06/Exercise6.01/form_project/form_example/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 |
4 | def form_example(request):
5 | return render(request, "form-example.html")
6 |
--------------------------------------------------------------------------------
/Chapter06/Exercise6.01/form_project/form_project/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter06/Exercise6.01/form_project/form_project/__init__.py
--------------------------------------------------------------------------------
/Chapter06/final/bookr/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | class BookrAdminSite(admin.AdminSite):
4 | title_header = 'Bookr Admin'
5 | site_header = 'Bookr administration'
6 | index_title = 'Bookr site admin'
7 |
8 |
--------------------------------------------------------------------------------
/Chapter06/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter06/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter06/final/bookr/db.sqlite3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter06/final/bookr/db.sqlite3
--------------------------------------------------------------------------------
/Chapter06/final/bookr/requirements.txt:
--------------------------------------------------------------------------------
1 | Django==3.0a1
2 |
--------------------------------------------------------------------------------
/Chapter06/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter06/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter06/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter06/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter06/final/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter06/final/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter06/final/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
--------------------------------------------------------------------------------
/Chapter06/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Chapter06/final/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter06/final/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter06/final/form_project/form_example/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter06/final/form_project/form_example/__init__.py
--------------------------------------------------------------------------------
/Chapter06/final/form_project/form_example/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter06/final/form_project/form_example/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class FormExampleConfig(AppConfig):
5 | name = 'form_example'
6 |
--------------------------------------------------------------------------------
/Chapter06/final/form_project/form_example/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter06/final/form_project/form_example/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter06/final/form_project/form_example/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter06/final/form_project/form_project/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter06/final/form_project/form_project/__init__.py
--------------------------------------------------------------------------------
/Chapter07/final/bookr/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | class BookrAdminSite(admin.AdminSite):
4 | title_header = 'Bookr Admin'
5 | site_header = 'Bookr administration'
6 | index_title = 'Bookr site admin'
7 |
8 |
--------------------------------------------------------------------------------
/Chapter07/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter07/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter07/final/bookr/requirements.txt:
--------------------------------------------------------------------------------
1 | Django==3.0a1
2 |
--------------------------------------------------------------------------------
/Chapter07/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter07/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter07/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter07/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter07/final/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter07/final/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter07/final/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
--------------------------------------------------------------------------------
/Chapter07/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Chapter07/final/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter07/final/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter07/final/form_project/form_example/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter07/final/form_project/form_example/__init__.py
--------------------------------------------------------------------------------
/Chapter07/final/form_project/form_example/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter07/final/form_project/form_example/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class FormExampleConfig(AppConfig):
5 | name = 'form_example'
6 |
--------------------------------------------------------------------------------
/Chapter07/final/form_project/form_example/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter07/final/form_project/form_example/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter07/final/form_project/form_example/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter07/final/form_project/form_project/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter07/final/form_project/form_project/__init__.py
--------------------------------------------------------------------------------
/Chapter08/Activity8.01/bookr/fixtures/machine-learning-for-trading.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/Activity8.01/bookr/fixtures/machine-learning-for-trading.pdf
--------------------------------------------------------------------------------
/Chapter08/Activity8.01/bookr/media/book_covers/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/Activity8.01/bookr/media/book_covers/.gitkeep
--------------------------------------------------------------------------------
/Chapter08/Activity8.01/bookr/media/book_samples/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/Activity8.01/bookr/media/book_samples/.gitkeep
--------------------------------------------------------------------------------
/Chapter08/Activity8.01/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/Activity8.01/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter08/Exercise8.01/media_project/fixtures/cover.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/Exercise8.01/media_project/fixtures/cover.jpg
--------------------------------------------------------------------------------
/Chapter08/Exercise8.01/media_project/fixtures/sample.txt:
--------------------------------------------------------------------------------
1 | This is some sample text.
--------------------------------------------------------------------------------
/Chapter08/Exercise8.01/media_project/media/test.txt:
--------------------------------------------------------------------------------
1 | Hello, world!
--------------------------------------------------------------------------------
/Chapter08/Exercise8.01/media_project/media_example/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/Exercise8.01/media_project/media_example/__init__.py
--------------------------------------------------------------------------------
/Chapter08/Exercise8.01/media_project/media_example/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter08/Exercise8.01/media_project/media_example/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class MediaExampleConfig(AppConfig):
5 | name = 'media_example'
6 |
--------------------------------------------------------------------------------
/Chapter08/Exercise8.01/media_project/media_example/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/Exercise8.01/media_project/media_example/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter08/Exercise8.01/media_project/media_example/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter08/Exercise8.01/media_project/media_example/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter08/Exercise8.01/media_project/media_project/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/Exercise8.01/media_project/media_project/__init__.py
--------------------------------------------------------------------------------
/Chapter08/Exercise8.02/media_project/media_example/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | def media_example(request):
4 | return render(request, "media-example.html")
5 |
--------------------------------------------------------------------------------
/Chapter08/Exercise8.04/media_project/media_example/forms.py:
--------------------------------------------------------------------------------
1 | from django import forms
2 |
3 |
4 | class UploadForm(forms.Form):
5 | file_upload = forms.FileField()
6 |
--------------------------------------------------------------------------------
/Chapter08/Exercise8.05/media_project/media_example/forms.py:
--------------------------------------------------------------------------------
1 | from django import forms
2 |
3 |
4 | class UploadForm(forms.Form):
5 | file_upload = forms.ImageField()
6 |
7 |
--------------------------------------------------------------------------------
/Chapter08/Exercise8.06/media_project/media_example/forms.py:
--------------------------------------------------------------------------------
1 | from django import forms
2 |
3 |
4 | class UploadForm(forms.Form):
5 | image_upload = forms.ImageField()
6 | file_upload = forms.FileField()
7 |
--------------------------------------------------------------------------------
/Chapter08/Exercise8.06/media_project/media_example/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/Exercise8.06/media_project/media_example/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter08/Exercise8.06/media_project/media_example/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 |
4 | class ExampleModel(models.Model):
5 | image_field = models.ImageField(upload_to="images/")
6 | file_field = models.FileField(upload_to="files/")
7 |
--------------------------------------------------------------------------------
/Chapter08/final/bookr/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | class BookrAdminSite(admin.AdminSite):
4 | title_header = 'Bookr Admin'
5 | site_header = 'Bookr administration'
6 | index_title = 'Bookr site admin'
7 |
8 |
--------------------------------------------------------------------------------
/Chapter08/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter08/final/bookr/requirements.txt:
--------------------------------------------------------------------------------
1 | Django==3.0a1
2 |
--------------------------------------------------------------------------------
/Chapter08/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter08/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter08/final/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/final/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter08/final/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
--------------------------------------------------------------------------------
/Chapter08/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Chapter08/final/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/final/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter08/final/media_project/fixtures/cover.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/final/media_project/fixtures/cover.jpg
--------------------------------------------------------------------------------
/Chapter08/final/media_project/fixtures/sample.txt:
--------------------------------------------------------------------------------
1 | This is some sample text.
--------------------------------------------------------------------------------
/Chapter08/final/media_project/media_example/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/final/media_project/media_example/__init__.py
--------------------------------------------------------------------------------
/Chapter08/final/media_project/media_example/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter08/final/media_project/media_example/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class MediaExampleConfig(AppConfig):
5 | name = 'media_example'
6 |
--------------------------------------------------------------------------------
/Chapter08/final/media_project/media_example/forms.py:
--------------------------------------------------------------------------------
1 | from django import forms
2 |
3 | from .models import ExampleModel
4 |
5 |
6 | class UploadForm(forms.ModelForm):
7 | class Meta:
8 | model = ExampleModel
9 | fields = "__all__"
10 |
--------------------------------------------------------------------------------
/Chapter08/final/media_project/media_example/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/final/media_project/media_example/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter08/final/media_project/media_example/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 |
4 | class ExampleModel(models.Model):
5 | image_field = models.ImageField(upload_to="images/")
6 | file_field = models.FileField(upload_to="files/")
7 |
--------------------------------------------------------------------------------
/Chapter08/final/media_project/media_project/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter08/final/media_project/media_project/__init__.py
--------------------------------------------------------------------------------
/Chapter09/Exercise09.02/bookr/bookr/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 |
4 | def profile(request):
5 | return render(request, 'profile.html')
6 |
--------------------------------------------------------------------------------
/Chapter09/Exercise09.03/bookr/bookr/views.py:
--------------------------------------------------------------------------------
1 | from django.contrib.auth.decorators import login_required
2 | from django.shortcuts import render
3 |
4 | @login_required
5 | def profile(request):
6 | return render(request, 'profile.html')
7 |
8 |
--------------------------------------------------------------------------------
/Chapter09/final/bookr/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | class BookrAdminSite(admin.AdminSite):
4 | title_header = 'Bookr Admin'
5 | site_header = 'Bookr administration'
6 | index_title = 'Bookr site admin'
7 |
8 |
--------------------------------------------------------------------------------
/Chapter09/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter09/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter09/final/bookr/bookr/views.py:
--------------------------------------------------------------------------------
1 | from django.contrib.auth.decorators import login_required
2 | from django.shortcuts import render
3 |
4 | @login_required
5 | def profile(request):
6 | return render(request, 'profile.html')
7 |
8 |
--------------------------------------------------------------------------------
/Chapter09/final/bookr/requirements.txt:
--------------------------------------------------------------------------------
1 | Django==3.0a1
2 |
--------------------------------------------------------------------------------
/Chapter09/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter09/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter09/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter09/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter09/final/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter09/final/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter09/final/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
--------------------------------------------------------------------------------
/Chapter09/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Chapter09/final/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter09/final/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter10/Activity10.01/bookr_admin/apps.py:
--------------------------------------------------------------------------------
1 | from django.contrib.admin.apps import AdminConfig
2 |
3 |
4 | class BookrAdminConfig(AdminConfig):
5 | default_site = 'bookr_admin.admin.BookrAdmin'
6 |
--------------------------------------------------------------------------------
/Chapter10/Exercise10.02/bookr_admin/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | class BookrAdmin(admin.AdminSite):
4 | site_header = "Bookr Administration"
5 |
6 |
--------------------------------------------------------------------------------
/Chapter10/Exercise10.02/bookr_admin/apps.py:
--------------------------------------------------------------------------------
1 | from django.contrib.admin.apps import AdminConfig
2 |
3 |
4 | class BookrAdminConfig(AdminConfig):
5 | default_site = 'bookr_admin.admin.BookrAdmin'
--------------------------------------------------------------------------------
/Chapter10/Exercise10.03/bookr_admin/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | class BookrAdmin(admin.AdminSite):
4 | site_header = "Bookr Administration"
5 | logout_template = "admin/logout.html"
6 |
7 |
--------------------------------------------------------------------------------
/Chapter10/final/bookr/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | class BookrAdminSite(admin.AdminSite):
4 | title_header = 'Bookr Admin'
5 | site_header = 'Bookr administration'
6 | index_title = 'Bookr site admin'
7 |
8 |
--------------------------------------------------------------------------------
/Chapter10/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter10/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter10/final/bookr/bookr/views.py:
--------------------------------------------------------------------------------
1 | from django.contrib.auth.decorators import login_required
2 | from django.shortcuts import render
3 |
4 | @login_required
5 | def profile(request):
6 | return render(request, 'profile.html')
7 |
8 |
--------------------------------------------------------------------------------
/Chapter10/final/bookr/bookr_admin/apps.py:
--------------------------------------------------------------------------------
1 | from django.contrib.admin.apps import AdminConfig
2 |
3 |
4 | class BookrAdminConfig(AdminConfig):
5 | default_site = 'bookr_admin.admin.BookrAdmin'
6 |
--------------------------------------------------------------------------------
/Chapter10/final/bookr/requirements.txt:
--------------------------------------------------------------------------------
1 | Django==3.0a1
2 |
--------------------------------------------------------------------------------
/Chapter10/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter10/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter10/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter10/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter10/final/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter10/final/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter10/final/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
--------------------------------------------------------------------------------
/Chapter10/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Chapter10/final/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter10/final/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter11/Activity11.01/reviews/templates/book_list.html:
--------------------------------------------------------------------------------
1 | Books read
2 |
3 | {% for book in books_read %}
4 | - {{ book }}
5 | {% endfor %}
6 |
7 |
--------------------------------------------------------------------------------
/Chapter11/Exercise11.01/filter_demo/templates/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Custom Filter Example
4 |
5 | {% load explode_filter %}
6 |
7 | {{ names|explode:"," }}
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Chapter11/Exercise11.01/filter_demo/templatetags/explode_filter.py:
--------------------------------------------------------------------------------
1 | from django import template
2 |
3 | register = template.Library()
4 |
5 | @register.filter
6 | def explode(value, separator):
7 | return value.split(separator)
8 |
9 |
--------------------------------------------------------------------------------
/Chapter11/Exercise11.01/filter_demo/urls.py:
--------------------------------------------------------------------------------
1 | from django.urls import path
2 |
3 | from . import views
4 |
5 | urlpatterns = [
6 | path('', views.index, name='index')
7 | ]
8 |
--------------------------------------------------------------------------------
/Chapter11/Exercise11.01/filter_demo/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | def index(request):
4 | names = "john,doe,mark,swain"
5 | return render(request, "index.html", {'names': names})
6 |
--------------------------------------------------------------------------------
/Chapter11/Exercise11.02/filter_demo/templates/simple_tag_template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Simple Tag Template Example
4 |
5 |
6 | {% load simple_tag %}
7 | {% greet_user "Hey there" username %}
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Chapter11/Exercise11.02/filter_demo/urls.py:
--------------------------------------------------------------------------------
1 | from django.urls import path
2 |
3 | from . import views
4 |
5 | urlpatterns = [
6 | path('', views.index, name='index'),
7 | path('greet', views.greeting_view, name='greeting')
8 | ]
9 |
--------------------------------------------------------------------------------
/Chapter11/Exercise11.03/filter_demo/templates/book_list.html:
--------------------------------------------------------------------------------
1 |
2 | {% for book in book_list %}
3 | - {{ book }}
4 | {% endfor %}
5 |
6 |
--------------------------------------------------------------------------------
/Chapter11/Exercise11.04/book_management/forms.py:
--------------------------------------------------------------------------------
1 | from django import forms
2 |
3 | from .models import Book
4 |
5 | class BookForm(forms.ModelForm):
6 | class Meta:
7 | model = Book
8 | fields = ['name', 'author']
9 |
--------------------------------------------------------------------------------
/Chapter11/Exercise11.04/book_management/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 |
4 | class Book(models.Model):
5 | name = models.CharField(max_length=255)
6 | author = models.CharField(max_length=50)
7 |
8 |
--------------------------------------------------------------------------------
/Chapter11/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter11/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter11/final/bookr/bookr_admin/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter11/final/bookr/bookr_admin/__init__.py
--------------------------------------------------------------------------------
/Chapter11/final/bookr/bookr_admin/apps.py:
--------------------------------------------------------------------------------
1 | from django.contrib.admin.apps import AdminConfig
2 |
3 |
4 | class BookrAdminConfig(AdminConfig):
5 | default_site = 'bookr_admin.admin.BookrAdmin'
6 |
--------------------------------------------------------------------------------
/Chapter11/final/bookr/bookr_admin/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter11/final/bookr/bookr_admin/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter11/final/bookr/bookr_admin/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter11/final/bookr/bookr_admin/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter11/final/bookr/bookr_admin/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter11/final/bookr/fixtures/machine-learning-for-algorithmic-trading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter11/final/bookr/fixtures/machine-learning-for-algorithmic-trading.png
--------------------------------------------------------------------------------
/Chapter11/final/bookr/fixtures/machine-learning-for-trading.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter11/final/bookr/fixtures/machine-learning-for-trading.pdf
--------------------------------------------------------------------------------
/Chapter11/final/bookr/media/book_covers/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter11/final/bookr/media/book_covers/logo.png
--------------------------------------------------------------------------------
/Chapter11/final/bookr/media/book_samples/machine-learning-for-trading_572jJkh.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter11/final/bookr/media/book_samples/machine-learning-for-trading_572jJkh.pdf
--------------------------------------------------------------------------------
/Chapter11/final/bookr/media/book_samples/machine-learning-for-trading_Wk6Qiab.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter11/final/bookr/media/book_samples/machine-learning-for-trading_Wk6Qiab.pdf
--------------------------------------------------------------------------------
/Chapter11/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter11/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter11/final/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 | from django.contrib.admin.apps import AdminConfig
3 |
4 |
5 | class ReviewsConfig(AppConfig):
6 | name = 'reviews'
7 |
--------------------------------------------------------------------------------
/Chapter11/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter11/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter11/final/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter11/final/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter11/final/bookr/reviews/templates/book_list.html:
--------------------------------------------------------------------------------
1 | Books read
2 |
3 | {% for book in books_read %}
4 | - {{ book }}
5 | {% endfor %}
6 |
7 |
--------------------------------------------------------------------------------
/Chapter11/final/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Chapter11/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Chapter11/final/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter11/final/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter11/final/requirements.txt:
--------------------------------------------------------------------------------
1 | asgiref==3.2.10
2 | Django==3.1
3 | Pillow==7.2.0
4 | pytz==2020.1
5 | sqlparse==0.3.1
6 |
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Activity_12.01/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/bookr_admin/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Activity_12.01/bookr/bookr_admin/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/bookr_admin/apps.py:
--------------------------------------------------------------------------------
1 | from django.contrib.admin.apps import AdminConfig
2 |
3 |
4 | class BookrAdminConfig(AdminConfig):
5 | default_site = 'bookr_admin.admin.BookrAdmin'
6 |
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/bookr_admin/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Activity_12.01/bookr/bookr_admin/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/bookr_admin/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/bookr_admin/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/bookr_admin/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/fixtures/machine-learning-for-trading.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Activity_12.01/bookr/fixtures/machine-learning-for-trading.pdf
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/media/book_covers/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Activity_12.01/bookr/media/book_covers/logo.png
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Activity_12.01/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 | from django.contrib.admin.apps import AdminConfig
3 |
4 |
5 | class ReviewsConfig(AppConfig):
6 | name = 'reviews'
7 |
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Activity_12.01/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Activity_12.01/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/reviews/templates/book_list.html:
--------------------------------------------------------------------------------
1 | Books read
2 |
3 | {% for book in books_read %}
4 | - {{ book }}
5 | {% endfor %}
6 |
7 |
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Activity_12.01/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter12/Activity_12.01/requirements.txt:
--------------------------------------------------------------------------------
1 | asgiref==3.2.10
2 | Django==3.1
3 | djangorestframework==3.11.0
4 | Pillow==7.2.0
5 | pytz==2020.1
6 | sqlparse==0.3.1
7 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.01/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/bookr_admin/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.01/bookr/bookr_admin/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/bookr_admin/apps.py:
--------------------------------------------------------------------------------
1 | from django.contrib.admin.apps import AdminConfig
2 |
3 |
4 | class BookrAdminConfig(AdminConfig):
5 | default_site = 'bookr_admin.admin.BookrAdmin'
6 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/bookr_admin/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.01/bookr/bookr_admin/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/bookr_admin/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/bookr_admin/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/bookr_admin/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/fixtures/machine-learning-for-trading.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.01/bookr/fixtures/machine-learning-for-trading.pdf
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/media/book_covers/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.01/bookr/media/book_covers/logo.png
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.01/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 | from django.contrib.admin.apps import AdminConfig
3 |
4 |
5 | class ReviewsConfig(AppConfig):
6 | name = 'reviews'
7 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.01/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.01/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/reviews/templates/book_list.html:
--------------------------------------------------------------------------------
1 | Books read
2 |
3 | {% for book in books_read %}
4 | - {{ book }}
5 | {% endfor %}
6 |
7 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.01/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.01/requirements.txt:
--------------------------------------------------------------------------------
1 | asgiref==3.2.10
2 | Django==3.1
3 | djangorestframework==3.11.0
4 | Pillow==7.2.0
5 | pytz==2020.1
6 | sqlparse==0.3.1
7 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.02/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/bookr_admin/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.02/bookr/bookr_admin/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/bookr_admin/apps.py:
--------------------------------------------------------------------------------
1 | from django.contrib.admin.apps import AdminConfig
2 |
3 |
4 | class BookrAdminConfig(AdminConfig):
5 | default_site = 'bookr_admin.admin.BookrAdmin'
6 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/bookr_admin/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.02/bookr/bookr_admin/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/bookr_admin/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/bookr_admin/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/bookr_admin/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/fixtures/machine-learning-for-trading.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.02/bookr/fixtures/machine-learning-for-trading.pdf
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/media/book_covers/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.02/bookr/media/book_covers/logo.png
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.02/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 | from django.contrib.admin.apps import AdminConfig
3 |
4 |
5 | class ReviewsConfig(AppConfig):
6 | name = 'reviews'
7 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.02/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.02/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/reviews/templates/book_list.html:
--------------------------------------------------------------------------------
1 | Books read
2 |
3 | {% for book in books_read %}
4 | - {{ book }}
5 | {% endfor %}
6 |
7 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.02/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.02/requirements.txt:
--------------------------------------------------------------------------------
1 | asgiref==3.2.10
2 | Django==3.1
3 | djangorestframework==3.11.0
4 | Pillow==7.2.0
5 | pytz==2020.1
6 | sqlparse==0.3.1
7 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.03/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/bookr_admin/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.03/bookr/bookr_admin/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/bookr_admin/apps.py:
--------------------------------------------------------------------------------
1 | from django.contrib.admin.apps import AdminConfig
2 |
3 |
4 | class BookrAdminConfig(AdminConfig):
5 | default_site = 'bookr_admin.admin.BookrAdmin'
6 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/bookr_admin/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.03/bookr/bookr_admin/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/bookr_admin/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/bookr_admin/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/bookr_admin/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/fixtures/machine-learning-for-trading.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.03/bookr/fixtures/machine-learning-for-trading.pdf
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/media/book_covers/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.03/bookr/media/book_covers/logo.png
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.03/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 | from django.contrib.admin.apps import AdminConfig
3 |
4 |
5 | class ReviewsConfig(AppConfig):
6 | name = 'reviews'
7 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.03/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.03/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/reviews/templates/book_list.html:
--------------------------------------------------------------------------------
1 | Books read
2 |
3 | {% for book in books_read %}
4 | - {{ book }}
5 | {% endfor %}
6 |
7 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.03/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.03/requirements.txt:
--------------------------------------------------------------------------------
1 | asgiref==3.2.10
2 | Django==3.1
3 | djangorestframework==3.11.0
4 | Pillow==7.2.0
5 | pytz==2020.1
6 | sqlparse==0.3.1
7 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.04/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/bookr_admin/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.04/bookr/bookr_admin/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/bookr_admin/apps.py:
--------------------------------------------------------------------------------
1 | from django.contrib.admin.apps import AdminConfig
2 |
3 |
4 | class BookrAdminConfig(AdminConfig):
5 | default_site = 'bookr_admin.admin.BookrAdmin'
6 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/bookr_admin/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.04/bookr/bookr_admin/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/bookr_admin/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/bookr_admin/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/bookr_admin/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/fixtures/machine-learning-for-trading.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.04/bookr/fixtures/machine-learning-for-trading.pdf
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/media/book_covers/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.04/bookr/media/book_covers/logo.png
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.04/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 | from django.contrib.admin.apps import AdminConfig
3 |
4 |
5 | class ReviewsConfig(AppConfig):
6 | name = 'reviews'
7 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.04/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.04/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/reviews/templates/book_list.html:
--------------------------------------------------------------------------------
1 | Books read
2 |
3 | {% for book in books_read %}
4 | - {{ book }}
5 | {% endfor %}
6 |
7 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.04/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.04/requirements.txt:
--------------------------------------------------------------------------------
1 | asgiref==3.2.10
2 | Django==3.1
3 | djangorestframework==3.11.0
4 | Pillow==7.2.0
5 | pytz==2020.1
6 | sqlparse==0.3.1
7 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.05/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/bookr_admin/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.05/bookr/bookr_admin/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/bookr_admin/apps.py:
--------------------------------------------------------------------------------
1 | from django.contrib.admin.apps import AdminConfig
2 |
3 |
4 | class BookrAdminConfig(AdminConfig):
5 | default_site = 'bookr_admin.admin.BookrAdmin'
6 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/bookr_admin/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.05/bookr/bookr_admin/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/bookr_admin/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/bookr_admin/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/bookr_admin/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/fixtures/machine-learning-for-trading.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.05/bookr/fixtures/machine-learning-for-trading.pdf
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/media/book_covers/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.05/bookr/media/book_covers/logo.png
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.05/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 | from django.contrib.admin.apps import AdminConfig
3 |
4 |
5 | class ReviewsConfig(AppConfig):
6 | name = 'reviews'
7 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.05/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.05/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/reviews/templates/book_list.html:
--------------------------------------------------------------------------------
1 | Books read
2 |
3 | {% for book in books_read %}
4 | - {{ book }}
5 | {% endfor %}
6 |
7 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/Exercise_12.05/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter12/Exercise_12.05/requirements.txt:
--------------------------------------------------------------------------------
1 | asgiref==3.2.10
2 | Django==3.1
3 | djangorestframework==3.11.0
4 | Pillow==7.2.0
5 | pytz==2020.1
6 | sqlparse==0.3.1
7 |
--------------------------------------------------------------------------------
/Chapter12/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter12/final/bookr/bookr_admin/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/final/bookr/bookr_admin/__init__.py
--------------------------------------------------------------------------------
/Chapter12/final/bookr/bookr_admin/apps.py:
--------------------------------------------------------------------------------
1 | from django.contrib.admin.apps import AdminConfig
2 |
3 |
4 | class BookrAdminConfig(AdminConfig):
5 | default_site = 'bookr_admin.admin.BookrAdmin'
6 |
--------------------------------------------------------------------------------
/Chapter12/final/bookr/bookr_admin/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/final/bookr/bookr_admin/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter12/final/bookr/bookr_admin/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter12/final/bookr/bookr_admin/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter12/final/bookr/bookr_admin/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter12/final/bookr/fixtures/machine-learning-for-algorithmic-trading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/final/bookr/fixtures/machine-learning-for-algorithmic-trading.png
--------------------------------------------------------------------------------
/Chapter12/final/bookr/fixtures/machine-learning-for-trading.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/final/bookr/fixtures/machine-learning-for-trading.pdf
--------------------------------------------------------------------------------
/Chapter12/final/bookr/media/book_covers/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/final/bookr/media/book_covers/logo.png
--------------------------------------------------------------------------------
/Chapter12/final/bookr/media/book_samples/machine-learning-for-trading_572jJkh.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/final/bookr/media/book_samples/machine-learning-for-trading_572jJkh.pdf
--------------------------------------------------------------------------------
/Chapter12/final/bookr/media/book_samples/machine-learning-for-trading_Wk6Qiab.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/final/bookr/media/book_samples/machine-learning-for-trading_Wk6Qiab.pdf
--------------------------------------------------------------------------------
/Chapter12/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter12/final/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 | from django.contrib.admin.apps import AdminConfig
3 |
4 |
5 | class ReviewsConfig(AppConfig):
6 | name = 'reviews'
7 |
--------------------------------------------------------------------------------
/Chapter12/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter12/final/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/final/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter12/final/bookr/reviews/templates/book_list.html:
--------------------------------------------------------------------------------
1 | Books read
2 |
3 | {% for book in books_read %}
4 | - {{ book }}
5 | {% endfor %}
6 |
7 |
--------------------------------------------------------------------------------
/Chapter12/final/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Chapter12/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Chapter12/final/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter12/final/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter12/final/requirements.txt:
--------------------------------------------------------------------------------
1 | asgiref==3.2.10
2 | Django==3.1
3 | djangorestframework==3.11.0
4 | Pillow==7.2.0
5 | pytz==2020.1
6 | sqlparse==0.3.1
7 |
--------------------------------------------------------------------------------
/Chapter13/Activity13.01/requirements.txt:
--------------------------------------------------------------------------------
1 | asgiref==3.2.10
2 | Django==3.1
3 | Pillow==7.2.0
4 | plotly==4.9.0
5 | pytz==2020.1
6 | retrying==1.3.3
7 | six==1.15.0
8 | sqlparse==0.3.1
9 | XlsxWriter==1.3.2
10 |
--------------------------------------------------------------------------------
/Chapter13/Exercise13.02/sample_output.csv:
--------------------------------------------------------------------------------
1 | name,age,gender
2 | Richard,32,M
3 | Mumzil,21,F
4 | Melinda,25,F
5 |
--------------------------------------------------------------------------------
/Chapter13/Exercise13.03/requirements.txt:
--------------------------------------------------------------------------------
1 | XlsxWriter==1.3.1
2 |
--------------------------------------------------------------------------------
/Chapter13/Exercise13.03/sample_workbook.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter13/Exercise13.03/sample_workbook.xlsx
--------------------------------------------------------------------------------
/Chapter13/Exercise13.04/demo_page.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter13/Exercise13.04/demo_page.pdf
--------------------------------------------------------------------------------
/Chapter13/Exercise13.05/requirements.txt:
--------------------------------------------------------------------------------
1 | plotly==4.9.0
2 | retrying==1.3.3
3 | six==1.15.0
4 |
--------------------------------------------------------------------------------
/Chapter13/Exercise13.06/requirements.txt:
--------------------------------------------------------------------------------
1 | asgiref==3.2.10
2 | Django==3.1
3 | Pillow==7.2.0
4 | plotly==4.9.0
5 | pytz==2020.1
6 | retrying==1.3.3
7 | six==1.15.0
8 | sqlparse==0.3.1
9 | XlsxWriter==1.3.2
10 |
--------------------------------------------------------------------------------
/Chapter13/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter13/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter13/final/bookr/bookr_admin/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter13/final/bookr/bookr_admin/__init__.py
--------------------------------------------------------------------------------
/Chapter13/final/bookr/bookr_admin/apps.py:
--------------------------------------------------------------------------------
1 | from django.contrib.admin.apps import AdminConfig
2 |
3 |
4 | class BookrAdminConfig(AdminConfig):
5 | default_site = 'bookr_admin.admin.BookrAdmin'
6 |
--------------------------------------------------------------------------------
/Chapter13/final/bookr/bookr_admin/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter13/final/bookr/bookr_admin/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter13/final/bookr/bookr_admin/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter13/final/bookr/bookr_admin/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter13/final/bookr/bookr_admin/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter13/final/bookr/fixtures/machine-learning-for-algorithmic-trading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter13/final/bookr/fixtures/machine-learning-for-algorithmic-trading.png
--------------------------------------------------------------------------------
/Chapter13/final/bookr/fixtures/machine-learning-for-trading.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter13/final/bookr/fixtures/machine-learning-for-trading.pdf
--------------------------------------------------------------------------------
/Chapter13/final/bookr/media/book_covers/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter13/final/bookr/media/book_covers/logo.png
--------------------------------------------------------------------------------
/Chapter13/final/bookr/media/book_samples/machine-learning-for-trading_572jJkh.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter13/final/bookr/media/book_samples/machine-learning-for-trading_572jJkh.pdf
--------------------------------------------------------------------------------
/Chapter13/final/bookr/media/book_samples/machine-learning-for-trading_Wk6Qiab.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter13/final/bookr/media/book_samples/machine-learning-for-trading_Wk6Qiab.pdf
--------------------------------------------------------------------------------
/Chapter13/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter13/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter13/final/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 | from django.contrib.admin.apps import AdminConfig
3 |
4 |
5 | class ReviewsConfig(AppConfig):
6 | name = 'reviews'
7 |
--------------------------------------------------------------------------------
/Chapter13/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter13/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter13/final/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter13/final/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter13/final/bookr/reviews/templates/book_list.html:
--------------------------------------------------------------------------------
1 | Books read
2 |
3 | {% for book in books_read %}
4 | - {{ book }}
5 | {% endfor %}
6 |
7 |
--------------------------------------------------------------------------------
/Chapter13/final/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Chapter13/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Chapter13/final/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter13/final/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter13/final/requirements.txt:
--------------------------------------------------------------------------------
1 | asgiref==3.2.10
2 | Django==3.1
3 | djangorestframework==3.11.0
4 | Pillow==8.0.1
5 | plotly==4.14.1
6 | retrying==1.3.3
7 | six==1.15.0
8 | pytz==2020.1
9 | sqlparse==0.3.1
10 | XlsxWriter==1.3.7
11 |
--------------------------------------------------------------------------------
/Chapter14/Activity14.01/reviews/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter14/Activity14.01/reviews/tests/__init__.py
--------------------------------------------------------------------------------
/Chapter14/Exercise14.01/reviews/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | class TestSimpleComponent(TestCase):
4 | def test_basic_sum(self):
5 | assert 1+1 == 2
6 |
--------------------------------------------------------------------------------
/Chapter14/Exercise14.02/bookr_test/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter14/Exercise14.02/bookr_test/__init__.py
--------------------------------------------------------------------------------
/Chapter14/Exercise14.02/bookr_test/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Chapter14/Exercise14.02/bookr_test/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class BookrTestConfig(AppConfig):
5 | name = 'bookr_test'
6 |
--------------------------------------------------------------------------------
/Chapter14/Exercise14.02/bookr_test/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter14/Exercise14.02/bookr_test/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter14/Exercise14.02/bookr_test/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter14/Exercise14.03/bookr_test/urls.py:
--------------------------------------------------------------------------------
1 | from django.urls import path
2 | from . import views
3 |
4 | urlpatterns = [
5 | path('test/greeting', views.greeting_view, name='greeting_view')
6 | ]
7 |
--------------------------------------------------------------------------------
/Chapter14/Exercise14.03/bookr_test/views.py:
--------------------------------------------------------------------------------
1 | from django.http import HttpResponse
2 |
3 |
4 | def greeting_view(request):
5 | """Greet the user."""
6 | return HttpResponse("Hey there, welcome to Bookr! Your one stop place to review books.")
7 |
--------------------------------------------------------------------------------
/Chapter14/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter14/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter14/final/bookr/bookr_admin/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter14/final/bookr/bookr_admin/__init__.py
--------------------------------------------------------------------------------
/Chapter14/final/bookr/bookr_admin/apps.py:
--------------------------------------------------------------------------------
1 | from django.contrib.admin.apps import AdminConfig
2 |
3 |
4 | class BookrAdminConfig(AdminConfig):
5 | default_site = 'bookr_admin.admin.BookrAdmin'
6 |
--------------------------------------------------------------------------------
/Chapter14/final/bookr/bookr_admin/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter14/final/bookr/bookr_admin/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter14/final/bookr/bookr_admin/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter14/final/bookr/bookr_admin/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter14/final/bookr/bookr_admin/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter14/final/bookr/fixtures/machine-learning-for-algorithmic-trading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter14/final/bookr/fixtures/machine-learning-for-algorithmic-trading.png
--------------------------------------------------------------------------------
/Chapter14/final/bookr/fixtures/machine-learning-for-trading.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter14/final/bookr/fixtures/machine-learning-for-trading.pdf
--------------------------------------------------------------------------------
/Chapter14/final/bookr/media/book_covers/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter14/final/bookr/media/book_covers/logo.png
--------------------------------------------------------------------------------
/Chapter14/final/bookr/media/book_samples/machine-learning-for-trading_572jJkh.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter14/final/bookr/media/book_samples/machine-learning-for-trading_572jJkh.pdf
--------------------------------------------------------------------------------
/Chapter14/final/bookr/media/book_samples/machine-learning-for-trading_Wk6Qiab.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter14/final/bookr/media/book_samples/machine-learning-for-trading_Wk6Qiab.pdf
--------------------------------------------------------------------------------
/Chapter14/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter14/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter14/final/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 | from django.contrib.admin.apps import AdminConfig
3 |
4 |
5 | class ReviewsConfig(AppConfig):
6 | name = 'reviews'
7 |
--------------------------------------------------------------------------------
/Chapter14/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter14/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter14/final/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter14/final/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter14/final/bookr/reviews/templates/book_list.html:
--------------------------------------------------------------------------------
1 | Books read
2 |
3 | {% for book in books_read %}
4 | - {{ book }}
5 | {% endfor %}
6 |
7 |
--------------------------------------------------------------------------------
/Chapter14/final/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Chapter14/final/bookr/reviews/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter14/final/bookr/reviews/tests/__init__.py
--------------------------------------------------------------------------------
/Chapter14/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Chapter14/final/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter14/final/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter14/final/requirements.txt:
--------------------------------------------------------------------------------
1 | asgiref==3.2.10
2 | Django==3.1
3 | djangorestframework==3.11.0
4 | Pillow==7.2.0
5 | pytz==2020.1
6 | sqlparse==0.3.1
7 |
--------------------------------------------------------------------------------
/Chapter14/requirements.txt:
--------------------------------------------------------------------------------
1 | asgiref==3.2.10
2 | Django==3.1
3 | djangorestframework==3.11.0
4 | Pillow==8.0.1
5 | plotly==4.14.1
6 | retrying==1.3.3
7 | six==1.15.0
8 | pytz==2020.1
9 | sqlparse==0.3.1
10 | XlsxWriter==1.3.7
11 |
--------------------------------------------------------------------------------
/Chapter15/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter15/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter15/final/bookr/bookr_admin/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter15/final/bookr/bookr_admin/__init__.py
--------------------------------------------------------------------------------
/Chapter15/final/bookr/bookr_admin/apps.py:
--------------------------------------------------------------------------------
1 | from django.contrib.admin.apps import AdminConfig
2 |
3 |
4 | class BookrAdminConfig(AdminConfig):
5 | default_site = 'bookr_admin.admin.BookrAdmin'
6 |
--------------------------------------------------------------------------------
/Chapter15/final/bookr/bookr_admin/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter15/final/bookr/bookr_admin/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter15/final/bookr/bookr_admin/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter15/final/bookr/bookr_admin/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter15/final/bookr/bookr_admin/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter15/final/bookr/fixtures/machine-learning-for-algorithmic-trading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter15/final/bookr/fixtures/machine-learning-for-algorithmic-trading.png
--------------------------------------------------------------------------------
/Chapter15/final/bookr/fixtures/machine-learning-for-trading.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter15/final/bookr/fixtures/machine-learning-for-trading.pdf
--------------------------------------------------------------------------------
/Chapter15/final/bookr/media/book_covers/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter15/final/bookr/media/book_covers/logo.png
--------------------------------------------------------------------------------
/Chapter15/final/bookr/media/book_samples/machine-learning-for-trading_572jJkh.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter15/final/bookr/media/book_samples/machine-learning-for-trading_572jJkh.pdf
--------------------------------------------------------------------------------
/Chapter15/final/bookr/media/book_samples/machine-learning-for-trading_Wk6Qiab.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter15/final/bookr/media/book_samples/machine-learning-for-trading_Wk6Qiab.pdf
--------------------------------------------------------------------------------
/Chapter15/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter15/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter15/final/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 | from django.contrib.admin.apps import AdminConfig
3 |
4 |
5 | class ReviewsConfig(AppConfig):
6 | name = 'reviews'
7 |
--------------------------------------------------------------------------------
/Chapter15/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter15/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter15/final/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter15/final/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter15/final/bookr/reviews/templates/book_list.html:
--------------------------------------------------------------------------------
1 | Books read
2 |
3 | {% for book in books_read %}
4 | - {{ book }}
5 | {% endfor %}
6 |
7 |
--------------------------------------------------------------------------------
/Chapter15/final/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Chapter15/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Chapter15/final/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter15/final/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter16/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter16/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter16/final/bookr/bookr_admin/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter16/final/bookr/bookr_admin/__init__.py
--------------------------------------------------------------------------------
/Chapter16/final/bookr/bookr_admin/apps.py:
--------------------------------------------------------------------------------
1 | from django.contrib.admin.apps import AdminConfig
2 |
3 |
4 | class BookrAdminConfig(AdminConfig):
5 | default_site = 'bookr_admin.admin.BookrAdmin'
6 |
--------------------------------------------------------------------------------
/Chapter16/final/bookr/bookr_admin/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter16/final/bookr/bookr_admin/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter16/final/bookr/bookr_admin/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter16/final/bookr/bookr_admin/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter16/final/bookr/bookr_admin/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter16/final/bookr/fixtures/machine-learning-for-algorithmic-trading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter16/final/bookr/fixtures/machine-learning-for-algorithmic-trading.png
--------------------------------------------------------------------------------
/Chapter16/final/bookr/fixtures/machine-learning-for-trading.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter16/final/bookr/fixtures/machine-learning-for-trading.pdf
--------------------------------------------------------------------------------
/Chapter16/final/bookr/media/book_covers/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter16/final/bookr/media/book_covers/logo.png
--------------------------------------------------------------------------------
/Chapter16/final/bookr/media/book_samples/machine-learning-for-trading_572jJkh.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter16/final/bookr/media/book_samples/machine-learning-for-trading_572jJkh.pdf
--------------------------------------------------------------------------------
/Chapter16/final/bookr/media/book_samples/machine-learning-for-trading_Wk6Qiab.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter16/final/bookr/media/book_samples/machine-learning-for-trading_Wk6Qiab.pdf
--------------------------------------------------------------------------------
/Chapter16/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter16/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter16/final/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 | from django.contrib.admin.apps import AdminConfig
3 |
4 |
5 | class ReviewsConfig(AppConfig):
6 | name = 'reviews'
7 |
--------------------------------------------------------------------------------
/Chapter16/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter16/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter16/final/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter16/final/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter16/final/bookr/reviews/templates/book_list.html:
--------------------------------------------------------------------------------
1 | Books read
2 |
3 | {% for book in books_read %}
4 | - {{ book }}
5 | {% endfor %}
6 |
7 |
--------------------------------------------------------------------------------
/Chapter16/final/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Chapter16/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Chapter16/final/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter16/final/bookr/static/logo.png
--------------------------------------------------------------------------------
/Chapter18/Exercise18.05/bookr/service-conf/gunicorn-bookr.socket:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Bookr Gunicorn Socket
3 |
4 | [Socket]
5 | ListenStream=/run/gunicorn-bookr.sock
6 | User=www-data
7 | Mode=600
8 |
9 | [Install]
10 | WantedBy=sockets.target
11 |
--------------------------------------------------------------------------------
/Chapter18/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter18/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Chapter18/final/bookr/bookr_admin/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter18/final/bookr/bookr_admin/__init__.py
--------------------------------------------------------------------------------
/Chapter18/final/bookr/bookr_admin/apps.py:
--------------------------------------------------------------------------------
1 | from django.contrib.admin.apps import AdminConfig
2 |
3 |
4 | class BookrAdminConfig(AdminConfig):
5 | default_site = 'bookr_admin.admin.BookrAdmin'
6 |
--------------------------------------------------------------------------------
/Chapter18/final/bookr/bookr_admin/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter18/final/bookr/bookr_admin/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter18/final/bookr/bookr_admin/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/Chapter18/final/bookr/bookr_admin/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Chapter18/final/bookr/bookr_admin/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Chapter18/final/bookr/fixtures/machine-learning-for-algorithmic-trading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter18/final/bookr/fixtures/machine-learning-for-algorithmic-trading.png
--------------------------------------------------------------------------------
/Chapter18/final/bookr/fixtures/machine-learning-for-trading.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter18/final/bookr/fixtures/machine-learning-for-trading.pdf
--------------------------------------------------------------------------------
/Chapter18/final/bookr/media/book_covers/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter18/final/bookr/media/book_covers/logo.png
--------------------------------------------------------------------------------
/Chapter18/final/bookr/media/book_samples/machine-learning-for-trading_572jJkh.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter18/final/bookr/media/book_samples/machine-learning-for-trading_572jJkh.pdf
--------------------------------------------------------------------------------
/Chapter18/final/bookr/media/book_samples/machine-learning-for-trading_Wk6Qiab.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter18/final/bookr/media/book_samples/machine-learning-for-trading_Wk6Qiab.pdf
--------------------------------------------------------------------------------
/Chapter18/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter18/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Chapter18/final/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 | from django.contrib.admin.apps import AdminConfig
3 |
4 |
5 | class ReviewsConfig(AppConfig):
6 | name = 'reviews'
7 |
--------------------------------------------------------------------------------
/Chapter18/final/bookr/reviews/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter18/final/bookr/reviews/migrations/__init__.py
--------------------------------------------------------------------------------
/Chapter18/final/bookr/reviews/static/reviews/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter18/final/bookr/reviews/static/reviews/logo.png
--------------------------------------------------------------------------------
/Chapter18/final/bookr/reviews/templates/book_list.html:
--------------------------------------------------------------------------------
1 | Books read
2 |
3 | {% for book in books_read %}
4 | - {{ book }}
5 | {% endfor %}
6 |
7 |
--------------------------------------------------------------------------------
/Chapter18/final/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Chapter18/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Chapter18/final/bookr/service-conf/gunicorn-bookr.socket:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Bookr Gunicorn Socket
3 |
4 | [Socket]
5 | ListenStream=/run/gunicorn-bookr.sock
6 | User=www-data
7 | Mode=600
8 |
9 | [Install]
10 | WantedBy=sockets.target
11 |
--------------------------------------------------------------------------------
/Chapter18/final/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Chapter18/final/bookr/static/logo.png
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Activity14.01/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Activity14.01/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Activity14.01/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Activity14.01/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Activity14.01/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.01/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.01/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.01/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.01/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.01/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.02/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.02/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.02/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.02/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.02/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.03/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.03/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.03/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.03/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.03/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.04/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.04/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.04/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.04/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.04/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.05/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.05/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.05/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.05/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/Exercise14.05/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/OLD_Chapter14/OLD_Chapter14/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/OLD_Chapter14/OLD_Chapter14/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/final/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/final/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/final/bookr/reviews/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/OLD_Chapter14/OLD_Chapter14/final/bookr/reviews/tests/__init__.py
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/final/bookr/reviews/tests/geckodriver:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/OLD_Chapter14/OLD_Chapter14/final/bookr/reviews/tests/geckodriver
--------------------------------------------------------------------------------
/Old Code Backup/OLD_Chapter14/OLD_Chapter14/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Activity8.01/bookr/db.sqlite3.chap7:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter09/Activity8.01/bookr/db.sqlite3.chap7
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Activity8.01/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Activity8.01/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Activity8.01/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Activity8.01/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Activity8.01/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter09/Activity8.01/bookr/static/logo.png
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Activity8.02/bookr/db.sqlite3.chap7:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter09/Activity8.02/bookr/db.sqlite3.chap7
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Activity8.02/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Activity8.02/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Activity8.02/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Activity8.02/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Activity8.02/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter09/Activity8.02/bookr/static/logo.png
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.01/bookr/db.sqlite3.chap7:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.01/bookr/db.sqlite3.chap7
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.01/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.01/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.01/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.01/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.01/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.01/bookr/static/logo.png
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.02/bookr/db.sqlite3.chap7:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.02/bookr/db.sqlite3.chap7
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.02/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.02/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.02/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.02/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.02/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.02/bookr/static/logo.png
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.03/bookr/db.sqlite3.chap7:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.03/bookr/db.sqlite3.chap7
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.03/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.03/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.03/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.03/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.03/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.03/bookr/static/logo.png
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.04/bookr/db.sqlite3.chap7:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.04/bookr/db.sqlite3.chap7
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.04/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.04/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.04/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.04/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.05/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.05/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.05/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/Exercise8.05/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter09/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter09/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/final/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter09/final/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter09/final/bookr/static/logo.png
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/Activity01/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/Activity01/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/Activity01/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter10/Activity01/bookr/static/logo.png
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/Activity02/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/Activity02/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/Activity02/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter10/Activity02/bookr/static/logo.png
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/Exercise01/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/Exercise01/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/Exercise01/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter10/Exercise01/bookr/static/logo.png
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/Exercise01/bookr/titledusers/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 | from titledusers.models import TitledUser
3 |
4 | # Register your models here.
5 | admin.site.register(TitledUser)
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/Exercise01/bookr/titledusers/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class TitledusersConfig(AppConfig):
5 | name = 'titledusers'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/Exercise01/bookr/titledusers/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/Exercise01/bookr/titledusers/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 |
3 | # Create your views here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/Exercise02/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/Exercise02/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/Exercise02/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter10/Exercise02/bookr/static/logo.png
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/initial/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter10/initial/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/initial/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/initial/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | return round(sum(rating_list)/len(rating_list))
3 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter10/initial/bookr/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter10/initial/bookr/static/logo.png
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Activity11.01/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Activity11.01/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Activity11.01/bookr/reviews/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Activity11.01/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.01/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.01/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.01/bookr/reviews/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.01/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.02/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.02/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.02/bookr/reviews/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.02/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.03/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.03/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.03/bookr/reviews/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.03/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.04/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.04/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.04/bookr/reviews/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.04/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.05/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.05/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.05/bookr/reviews/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.05/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.06/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.06/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.06/bookr/reviews/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.06/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.07/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.07/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.07/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.07/bookr/reviews/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.07/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.08/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.08/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.08/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.08/bookr/reviews/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/Exercise11.08/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/final/bookr/bookr/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter11/final/bookr/bookr/__init__.py
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/final/bookr/reviews/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktWorkshops/The-Django-Workshop/3a9bb5b0e7df54a0436f7db41c8a580aab0a210c/Old Code Backup/chapters9,10,11/_newChapter11/final/bookr/reviews/__init__.py
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/final/bookr/reviews/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/final/bookr/reviews/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ReviewsConfig(AppConfig):
5 | name = 'reviews'
6 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/final/bookr/reviews/templates/reviews/base.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load static %}
3 | {% block brand %}
{% endblock %}
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/final/bookr/reviews/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/Old Code Backup/chapters9,10,11/_newChapter11/final/bookr/reviews/utils.py:
--------------------------------------------------------------------------------
1 | def average_rating(rating_list):
2 | if not rating_list:
3 | return 0
4 |
5 | return round(sum(rating_list) / len(rating_list))
6 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # The-Django-Workshop
2 |
3 | NOTE: This GH Repo has been migrated.
4 | All code is now frozen.
5 |
6 |
--------------------------------------------------------------------------------