SlideShare a Scribd company logo
1 of 150
Django AUTHORS   Python   Google   3
7                10


    Django   5
Django
PHP   Python
2003
Ruby on Rails
2005
World Online often has only
a matter of hours to take a complicated
Web application from concept to public launch.
…
…
…
DB
URL
DB
URL
DB
URL
DB
URL
DB
URL
DB
URL
85%
http://www2.ljworld.com/




LJWorld   …
http://www2.ljworld.com/
                     2005
Django          Adrian
http://www2.ljworld.com/
                     2005
Django          Adrian
http://www2.ljworld.com/
                     2005
Django          Adrian
http://www2.ljworld.com/
                     2005
Django          Adrian
http://www2.ljworld.com/
                     2005
Django          Adrian
…   …
27.6
django-admin.py startproject startapp


                                        manage.py
4       settings.py


    4
4       settings.py


    4
4       settings.py


    4
settings.py   INSTALLED_APPS
5                        Web




    blog                                  blog
settings.py   INSTALLED_APPS
5                        Web




    blog                                  blog
10                                           manage.py shell             blog
                                  startapp            gumistudy.blog   blog


manage.py           ./manage.py                          PYTHONPATH             Python Shell
            gumistudy.blog
                                                          manage.py
                    PYTHONPATH                 blog
…
Django
Django
admindoc
              Django
       view
                       Django BIDI
RegexValidator
        ■    URLValidator
        ■    validate_email
        ■    validate_slug
        ■    validate_ipv4_address
        ■    validate_comma_separated_integer_list
        ■    MaxValueValidator
        ■    MinValueValidator
        ■    MaxLengthValidator
        ■    MinLengthValidator

                                                     Model
validators                                                   validator
  …
ValidationError raise
                        DRY
CharField Integer
validators               RegexValidator                                 validator
             CharField           SlugField                       Slug               URL
                                DB
models
models.py
models
models.py
…
models   import   models
                       meta       app_label
…
models   import   models
                       meta       app_label
…


                        Entry       django.contrib.auth          User
       Entry   auhtor                     User     Entry
User              entry_set
                                                          User
…


                        Entry       django.contrib.auth          User
       Entry   auhtor                     User     Entry
User              entry_set
                                                          User
django.contrib.auth
                                      django.contrib.contenttypes
ContentType                         django.contrib.auth
django.contrib.auth
                                      django.contrib.contenttypes
ContentType                         django.contrib.auth
memcached
Signal
Signal
                  send
Signal
Signal
                  send
Signal
Signal
                  send
send    sender args


                        connect
          sender args
connect                      sender
send    sender args


                        connect
          sender args
connect                      sender
send    sender args


                        connect
          sender args
connect                      sender
…
Python
Python
Python
Abstract   syncdb
…   Proxy
…   Proxy
O/R Mapper    SQL


O/R Mapper           SQL         SQL
objects
              filter exclude       all
…                             …         all   filter
                              …
objects
              filter exclude       all
…                             …         all   filter
                              …
objects
              filter exclude       all
…                             …         all   filter
                              …
objects
              filter exclude       all
…                             …         all   filter
                              …
F Aggregation
F


        Aggregation             aggregate annotate       aggregate
    annotate                                         Aggregate Annotate
          Queryset
F Aggregation
F


        Aggregation             aggregate annotate       aggregate
    annotate                                         Aggregate Annotate
          Queryset
F Aggregation
F


        Aggregation             aggregate annotate       aggregate
    annotate                                         Aggregate Annotate
          Queryset
DRY
           Queryset               get_query_set


               Entry         public_objects pub_date       Queryset


objects   Manager                                 Django
                         Django
DRY
           Queryset               get_query_set


               Entry         public_objects pub_date       Queryset


objects   Manager                                 Django
                         Django
Django
         Django
Django
         Django
using   using   default
using   using   default
Django                                    DatabaseRouters
DatabaseRouters                                               syncdb


    None          None   Django   DatabaseRouter
default
Django
Django            django.contrib
1:30   )




           bitbucket
1:30   )




           bitbucket
ModelAdmin
   Queryset          Queryset   bulk update
save
ModelAdmin
   Queryset          Queryset   bulk update
save
Django
Django   Ellington   CMS
                                    admin
settings.py            TEMPLATE_LOADERS                 TEMPLATE_DIRS
TEMPLATE_LOADERS       filesystem.Loader app_directories.Loader              TEMPLATE_DIRS
                                                                      TEMPLATE_DIRS
       app_directories.Loader
settings.py            TEMPLATE_LOADERS                 TEMPLATE_DIRS
TEMPLATE_LOADERS       filesystem.Loader app_directories.Loader              TEMPLATE_DIRS
                                                                      TEMPLATE_DIRS
       app_directories.Loader
app_directories.Loader
                     Django                               templates
                                 app_directories.Loader
                     templates
app_directories.Loader
                     Django                               templates
                                 app_directories.Loader
                     templates
app_directories.Loader
                     Django                               templates
                                 app_directories.Loader
                     templates
filesystem.Loader TEMPLATE_DIRS


                             templates
                                         TEMPLATE_DIRS
filesystem.Loader TEMPLATE_DIRS


                             templates
                                         TEMPLATE_DIRS
Django   Django
2
admin/site_base.html                   …
  app_directory.Loader   filesystem.Loader
admin/site_base.html                   …
  app_directory.Loader   filesystem.Loader
! <html>
!!! <head>{% block title %}              {% endblock title %}</head>
    <script type="text/javascript" src="common.js"></script>
    {% block custom_js %}{% endblock custom_js %}
!!! <body>
!!! <div id="menu">{% block menu %}{% endblock menu %}</div>
!!! <div id="content">{% block content %}{% endblock content %}</div>
    <div id=”copyright”>{% block copyright %}everes{% endblock %}</div>
!!! </body>
! </html>




! {% extends 'base.html% %}
! {% block title %}{{ block.super }}            {% endblock title %}
! {% block menu %}                      {% endblock menu %}




! {% extends 'app/base.html' %}
! {% block content %}                  {% endblock content %}
! <html>
!!! <head>{% block title %}              {% endblock title %}</head>
    <script type="text/javascript" src="common.js"></script>
    {% block custom_js %}{% endblock custom_js %}
!!! <body>
!!! <div id="menu">{% block menu %}{% endblock menu %}</div>
!!! <div id="content">{% block content %}{% endblock content %}</div>
    <div id=”copyright”>{% block copyright %}everes{% endblock %}</div>
!!! </body>
! </html>




! {% extends 'base.html% %}
! {% block title %}{{ block.super }}            {% endblock title %}
! {% block menu %}                      {% endblock menu %}




! {% extends 'app/base.html' %}
! {% block content %}                  {% endblock content %}
! <html>
!!! <head>{% block title %}              {% endblock title %}</head>
    <script type="text/javascript" src="common.js"></script>
    {% block custom_js %}{% endblock custom_js %}
!!! <body>
!!! <div id="menu">{% block menu %}{% endblock menu %}</div>
!!! <div id="content">{% block content %}{% endblock content %}</div>
    <div id=”copyright”>{% block copyright %}everes{% endblock %}</div>
!!! </body>
! </html>




! {% extends 'base.html% %}
! {% block title %}{{ block.super }}            {% endblock title %}
! {% block menu %}                      {% endblock menu %}




! {% extends 'app/base.html' %}
! {% block content %}                  {% endblock content %}
! <html>
!!! <head>{% block title %}              {% endblock title %}</head>
    <script type="text/javascript" src="common.js"></script>
    {% block custom_js %}{% endblock custom_js %}
!!! <body>
!!! <div id="menu">{% block menu %}{% endblock menu %}</div>
!!! <div id="content">{% block content %}{% endblock content %}</div>
    <div id=”copyright”>{% block copyright %}everes{% endblock %}</div>
!!! </body>
! </html>




! {% extends 'base.html% %}
! {% block title %}{{ block.super }}            {% endblock title %}
! {% block menu %}                      {% endblock menu %}




! {% extends 'app/base.html' %}
! {% block content %}                  {% endblock content %}
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3

More Related Content

What's hot

Let's write secure Drupal code! DUG Belgium - 08/08/2019
Let's write secure Drupal code! DUG Belgium - 08/08/2019Let's write secure Drupal code! DUG Belgium - 08/08/2019
Let's write secure Drupal code! DUG Belgium - 08/08/2019Balázs Tatár
 
Let's write secure drupal code! - Drupal Camp Pannonia 2019
Let's write secure drupal code! - Drupal Camp Pannonia 2019Let's write secure drupal code! - Drupal Camp Pannonia 2019
Let's write secure drupal code! - Drupal Camp Pannonia 2019Balázs Tatár
 
Puppet camp chicago-automated_testing2
Puppet camp chicago-automated_testing2Puppet camp chicago-automated_testing2
Puppet camp chicago-automated_testing2nottings
 
Introducing Assetic: Asset Management for PHP 5.3
Introducing Assetic: Asset Management for PHP 5.3Introducing Assetic: Asset Management for PHP 5.3
Introducing Assetic: Asset Management for PHP 5.3Kris Wallsmith
 
With a Mighty Hammer
With a Mighty HammerWith a Mighty Hammer
With a Mighty HammerBen Scofield
 
Doctrine MongoDB ODM (PDXPHP)
Doctrine MongoDB ODM (PDXPHP)Doctrine MongoDB ODM (PDXPHP)
Doctrine MongoDB ODM (PDXPHP)Kris Wallsmith
 
Rails 3: Dashing to the Finish
Rails 3: Dashing to the FinishRails 3: Dashing to the Finish
Rails 3: Dashing to the FinishYehuda Katz
 
Rails 3 overview
Rails 3 overviewRails 3 overview
Rails 3 overviewYehuda Katz
 
A Little Backbone For Your App
A Little Backbone For Your AppA Little Backbone For Your App
A Little Backbone For Your AppLuca Mearelli
 
Maintainable JavaScript 2012
Maintainable JavaScript 2012Maintainable JavaScript 2012
Maintainable JavaScript 2012Nicholas Zakas
 
Django REST Framework
Django REST FrameworkDjango REST Framework
Django REST FrameworkLoad Impact
 
Spring data iii
Spring data iiiSpring data iii
Spring data iii명철 강
 
Intro To Moose
Intro To MooseIntro To Moose
Intro To MoosecPanel
 
Let's write secure Drupal code! - Drupal Camp Poland 2019
Let's write secure Drupal code! - Drupal Camp Poland 2019Let's write secure Drupal code! - Drupal Camp Poland 2019
Let's write secure Drupal code! - Drupal Camp Poland 2019Balázs Tatár
 
OSCON Google App Engine Codelab - July 2010
OSCON Google App Engine Codelab - July 2010OSCON Google App Engine Codelab - July 2010
OSCON Google App Engine Codelab - July 2010ikailan
 

What's hot (20)

Let's write secure Drupal code! DUG Belgium - 08/08/2019
Let's write secure Drupal code! DUG Belgium - 08/08/2019Let's write secure Drupal code! DUG Belgium - 08/08/2019
Let's write secure Drupal code! DUG Belgium - 08/08/2019
 
Django Heresies
Django HeresiesDjango Heresies
Django Heresies
 
Let's write secure drupal code! - Drupal Camp Pannonia 2019
Let's write secure drupal code! - Drupal Camp Pannonia 2019Let's write secure drupal code! - Drupal Camp Pannonia 2019
Let's write secure drupal code! - Drupal Camp Pannonia 2019
 
Assetic (Zendcon)
Assetic (Zendcon)Assetic (Zendcon)
Assetic (Zendcon)
 
Puppet camp chicago-automated_testing2
Puppet camp chicago-automated_testing2Puppet camp chicago-automated_testing2
Puppet camp chicago-automated_testing2
 
Introducing Assetic: Asset Management for PHP 5.3
Introducing Assetic: Asset Management for PHP 5.3Introducing Assetic: Asset Management for PHP 5.3
Introducing Assetic: Asset Management for PHP 5.3
 
With a Mighty Hammer
With a Mighty HammerWith a Mighty Hammer
With a Mighty Hammer
 
WCLV13 JavaScript
WCLV13 JavaScriptWCLV13 JavaScript
WCLV13 JavaScript
 
Hooks WCSD12
Hooks WCSD12Hooks WCSD12
Hooks WCSD12
 
Doctrine MongoDB ODM (PDXPHP)
Doctrine MongoDB ODM (PDXPHP)Doctrine MongoDB ODM (PDXPHP)
Doctrine MongoDB ODM (PDXPHP)
 
Rails 3: Dashing to the Finish
Rails 3: Dashing to the FinishRails 3: Dashing to the Finish
Rails 3: Dashing to the Finish
 
Rails 3 overview
Rails 3 overviewRails 3 overview
Rails 3 overview
 
A Little Backbone For Your App
A Little Backbone For Your AppA Little Backbone For Your App
A Little Backbone For Your App
 
Mojolicious
MojoliciousMojolicious
Mojolicious
 
Maintainable JavaScript 2012
Maintainable JavaScript 2012Maintainable JavaScript 2012
Maintainable JavaScript 2012
 
Django REST Framework
Django REST FrameworkDjango REST Framework
Django REST Framework
 
Spring data iii
Spring data iiiSpring data iii
Spring data iii
 
Intro To Moose
Intro To MooseIntro To Moose
Intro To Moose
 
Let's write secure Drupal code! - Drupal Camp Poland 2019
Let's write secure Drupal code! - Drupal Camp Poland 2019Let's write secure Drupal code! - Drupal Camp Poland 2019
Let's write secure Drupal code! - Drupal Camp Poland 2019
 
OSCON Google App Engine Codelab - July 2010
OSCON Google App Engine Codelab - July 2010OSCON Google App Engine Codelab - July 2010
OSCON Google App Engine Codelab - July 2010
 

Viewers also liked

引き出しとしてのDjango - SoozyCon7
引き出しとしてのDjango - SoozyCon7引き出しとしてのDjango - SoozyCon7
引き出しとしてのDjango - SoozyCon7makoto tsuyuki
 
変態的PHPフレームワーク rhaco
変態的PHPフレームワーク rhaco変態的PHPフレームワーク rhaco
変態的PHPフレームワーク rhacomakoto tsuyuki
 
Python Workshop the Edge - django
Python Workshop the Edge - djangoPython Workshop the Edge - django
Python Workshop the Edge - djangomakoto tsuyuki
 
Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012makoto tsuyuki
 
Erulolo at Kamakurago #1
Erulolo at Kamakurago #1Erulolo at Kamakurago #1
Erulolo at Kamakurago #1makoto tsuyuki
 
伝説のギタリストじゃない方のDjango
伝説のギタリストじゃない方のDjango伝説のギタリストじゃない方のDjango
伝説のギタリストじゃない方のDjangomakoto tsuyuki
 

Viewers also liked (8)

引き出しとしてのDjango - SoozyCon7
引き出しとしてのDjango - SoozyCon7引き出しとしてのDjango - SoozyCon7
引き出しとしてのDjango - SoozyCon7
 
変態的PHPフレームワーク rhaco
変態的PHPフレームワーク rhaco変態的PHPフレームワーク rhaco
変態的PHPフレームワーク rhaco
 
Not free
Not freeNot free
Not free
 
Testman
TestmanTestman
Testman
 
Python Workshop the Edge - django
Python Workshop the Edge - djangoPython Workshop the Edge - django
Python Workshop the Edge - django
 
Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012
 
Erulolo at Kamakurago #1
Erulolo at Kamakurago #1Erulolo at Kamakurago #1
Erulolo at Kamakurago #1
 
伝説のギタリストじゃない方のDjango
伝説のギタリストじゃない方のDjango伝説のギタリストじゃない方のDjango
伝説のギタリストじゃない方のDjango
 

Similar to Django - 次の一歩 gumiStudy#3

Startup Camp - Git, Python, Django session
Startup Camp - Git, Python, Django sessionStartup Camp - Git, Python, Django session
Startup Camp - Git, Python, Django sessionJuraj Michálek
 
JavaOne 2009 BOF-5189 Griffon In Depth
JavaOne 2009 BOF-5189 Griffon In DepthJavaOne 2009 BOF-5189 Griffon In Depth
JavaOne 2009 BOF-5189 Griffon In DepthDanno Ferrin
 
Python在豆瓣的应用
Python在豆瓣的应用Python在豆瓣的应用
Python在豆瓣的应用Qiangning Hong
 
Angular Intermediate
Angular IntermediateAngular Intermediate
Angular IntermediateLinkMe Srl
 
Freeing the cloud, one service at a time
Freeing the cloud, one service at a timeFreeing the cloud, one service at a time
Freeing the cloud, one service at a timeFrancois Marier
 
Reusando componentes Zope fuera de Zope
Reusando componentes Zope fuera de ZopeReusando componentes Zope fuera de Zope
Reusando componentes Zope fuera de Zopementtes
 
SymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years later
SymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years laterSymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years later
SymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years laterHaehnchen
 
Django Architecture Introduction
Django Architecture IntroductionDjango Architecture Introduction
Django Architecture IntroductionHaiqi Chen
 
Living With Legacy Code
Living With Legacy CodeLiving With Legacy Code
Living With Legacy CodeRowan Merewood
 
Android Bootstrap
Android BootstrapAndroid Bootstrap
Android Bootstrapdonnfelker
 
Jopr Plugin Development
Jopr Plugin DevelopmentJopr Plugin Development
Jopr Plugin DevelopmentSEA Tecnologia
 
Refactoring a go project
Refactoring a go projectRefactoring a go project
Refactoring a go projectDan Tran
 
Monkeybars in the Manor
Monkeybars in the ManorMonkeybars in the Manor
Monkeybars in the Manormartinbtt
 
PyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsPyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsGraham Dumpleton
 
Testing of javacript
Testing of javacriptTesting of javacript
Testing of javacriptLei Kang
 
Whoops! where did my architecture go?
Whoops! where did my architecture go?Whoops! where did my architecture go?
Whoops! where did my architecture go?Oliver Gierke
 
Python Developer Certification
Python Developer CertificationPython Developer Certification
Python Developer CertificationVskills
 

Similar to Django - 次の一歩 gumiStudy#3 (20)

Startup Camp - Git, Python, Django session
Startup Camp - Git, Python, Django sessionStartup Camp - Git, Python, Django session
Startup Camp - Git, Python, Django session
 
JavaOne 2009 BOF-5189 Griffon In Depth
JavaOne 2009 BOF-5189 Griffon In DepthJavaOne 2009 BOF-5189 Griffon In Depth
JavaOne 2009 BOF-5189 Griffon In Depth
 
django
djangodjango
django
 
Python在豆瓣的应用
Python在豆瓣的应用Python在豆瓣的应用
Python在豆瓣的应用
 
Django by rj
Django by rjDjango by rj
Django by rj
 
Angular Intermediate
Angular IntermediateAngular Intermediate
Angular Intermediate
 
Freeing the cloud, one service at a time
Freeing the cloud, one service at a timeFreeing the cloud, one service at a time
Freeing the cloud, one service at a time
 
Reusando componentes Zope fuera de Zope
Reusando componentes Zope fuera de ZopeReusando componentes Zope fuera de Zope
Reusando componentes Zope fuera de Zope
 
SymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years later
SymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years laterSymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years later
SymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years later
 
Django Architecture Introduction
Django Architecture IntroductionDjango Architecture Introduction
Django Architecture Introduction
 
Living With Legacy Code
Living With Legacy CodeLiving With Legacy Code
Living With Legacy Code
 
Android Bootstrap
Android BootstrapAndroid Bootstrap
Android Bootstrap
 
Jopr Plugin Development
Jopr Plugin DevelopmentJopr Plugin Development
Jopr Plugin Development
 
Refactoring a go project
Refactoring a go projectRefactoring a go project
Refactoring a go project
 
Django
DjangoDjango
Django
 
Monkeybars in the Manor
Monkeybars in the ManorMonkeybars in the Manor
Monkeybars in the Manor
 
PyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsPyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web Applications
 
Testing of javacript
Testing of javacriptTesting of javacript
Testing of javacript
 
Whoops! where did my architecture go?
Whoops! where did my architecture go?Whoops! where did my architecture go?
Whoops! where did my architecture go?
 
Python Developer Certification
Python Developer CertificationPython Developer Certification
Python Developer Certification
 

Recently uploaded

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesExploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesSanjay Willie
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 

Recently uploaded (20)

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesExploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 

Django - 次の一歩 gumiStudy#3

  • 1.
  • 2.
  • 3. Django AUTHORS Python Google 3
  • 4. 7 10 Django 5
  • 6. PHP Python
  • 10. World Online often has only a matter of hours to take a complicated Web application from concept to public launch.
  • 11.
  • 12.
  • 13.
  • 20. 85%
  • 22. http://www2.ljworld.com/ 2005 Django Adrian
  • 23. http://www2.ljworld.com/ 2005 Django Adrian
  • 24. http://www2.ljworld.com/ 2005 Django Adrian
  • 25. http://www2.ljworld.com/ 2005 Django Adrian
  • 26. http://www2.ljworld.com/ 2005 Django Adrian
  • 27.
  • 28.
  • 30. 4 settings.py 4
  • 31. 4 settings.py 4
  • 32. 4 settings.py 4
  • 33. settings.py INSTALLED_APPS 5 Web blog blog
  • 34. settings.py INSTALLED_APPS 5 Web blog blog
  • 35. 10 manage.py shell blog startapp gumistudy.blog blog manage.py ./manage.py PYTHONPATH Python Shell gumistudy.blog manage.py PYTHONPATH blog
  • 36.
  • 39.
  • 40. admindoc Django view Django BIDI
  • 41.
  • 42. RegexValidator ■ URLValidator ■ validate_email ■ validate_slug ■ validate_ipv4_address ■ validate_comma_separated_integer_list ■ MaxValueValidator ■ MinValueValidator ■ MaxLengthValidator ■ MinLengthValidator Model validators validator …
  • 44. CharField Integer validators RegexValidator validator CharField SlugField Slug URL DB
  • 45.
  • 46.
  • 49. … models import models meta app_label
  • 50. … models import models meta app_label
  • 51.
  • 52. Entry django.contrib.auth User Entry auhtor User Entry User entry_set User
  • 53. Entry django.contrib.auth User Entry auhtor User Entry User entry_set User
  • 54. django.contrib.auth django.contrib.contenttypes ContentType django.contrib.auth
  • 55. django.contrib.auth django.contrib.contenttypes ContentType django.contrib.auth
  • 60. send sender args connect sender args connect sender
  • 61. send sender args connect sender args connect sender
  • 62. send sender args connect sender args connect sender
  • 63.
  • 67. Abstract syncdb
  • 68. Proxy
  • 69. Proxy
  • 70. O/R Mapper SQL O/R Mapper SQL SQL
  • 71. objects filter exclude all … … all filter …
  • 72. objects filter exclude all … … all filter …
  • 73. objects filter exclude all … … all filter …
  • 74. objects filter exclude all … … all filter …
  • 75. F Aggregation F Aggregation aggregate annotate aggregate annotate Aggregate Annotate Queryset
  • 76. F Aggregation F Aggregation aggregate annotate aggregate annotate Aggregate Annotate Queryset
  • 77. F Aggregation F Aggregation aggregate annotate aggregate annotate Aggregate Annotate Queryset
  • 78. DRY Queryset get_query_set Entry public_objects pub_date Queryset objects Manager Django Django
  • 79. DRY Queryset get_query_set Entry public_objects pub_date Queryset objects Manager Django Django
  • 80. Django Django
  • 81. Django Django
  • 82. using using default
  • 83. using using default
  • 84. Django DatabaseRouters DatabaseRouters syncdb None None Django DatabaseRouter default
  • 85. Django Django django.contrib
  • 86. 1:30 ) bitbucket
  • 87. 1:30 ) bitbucket
  • 88. ModelAdmin Queryset Queryset bulk update save
  • 89. ModelAdmin Queryset Queryset bulk update save
  • 90. Django Django Ellington CMS admin
  • 91. settings.py TEMPLATE_LOADERS TEMPLATE_DIRS TEMPLATE_LOADERS filesystem.Loader app_directories.Loader TEMPLATE_DIRS TEMPLATE_DIRS app_directories.Loader
  • 92. settings.py TEMPLATE_LOADERS TEMPLATE_DIRS TEMPLATE_LOADERS filesystem.Loader app_directories.Loader TEMPLATE_DIRS TEMPLATE_DIRS app_directories.Loader
  • 93. app_directories.Loader Django templates app_directories.Loader templates
  • 94. app_directories.Loader Django templates app_directories.Loader templates
  • 95. app_directories.Loader Django templates app_directories.Loader templates
  • 96. filesystem.Loader TEMPLATE_DIRS templates TEMPLATE_DIRS
  • 97. filesystem.Loader TEMPLATE_DIRS templates TEMPLATE_DIRS
  • 98. Django Django 2
  • 99. admin/site_base.html … app_directory.Loader filesystem.Loader
  • 100. admin/site_base.html … app_directory.Loader filesystem.Loader
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119. ! <html> !!! <head>{% block title %} {% endblock title %}</head> <script type="text/javascript" src="common.js"></script> {% block custom_js %}{% endblock custom_js %} !!! <body> !!! <div id="menu">{% block menu %}{% endblock menu %}</div> !!! <div id="content">{% block content %}{% endblock content %}</div> <div id=”copyright”>{% block copyright %}everes{% endblock %}</div> !!! </body> ! </html> ! {% extends 'base.html% %} ! {% block title %}{{ block.super }} {% endblock title %} ! {% block menu %} {% endblock menu %} ! {% extends 'app/base.html' %} ! {% block content %} {% endblock content %}
  • 120. ! <html> !!! <head>{% block title %} {% endblock title %}</head> <script type="text/javascript" src="common.js"></script> {% block custom_js %}{% endblock custom_js %} !!! <body> !!! <div id="menu">{% block menu %}{% endblock menu %}</div> !!! <div id="content">{% block content %}{% endblock content %}</div> <div id=”copyright”>{% block copyright %}everes{% endblock %}</div> !!! </body> ! </html> ! {% extends 'base.html% %} ! {% block title %}{{ block.super }} {% endblock title %} ! {% block menu %} {% endblock menu %} ! {% extends 'app/base.html' %} ! {% block content %} {% endblock content %}
  • 121. ! <html> !!! <head>{% block title %} {% endblock title %}</head> <script type="text/javascript" src="common.js"></script> {% block custom_js %}{% endblock custom_js %} !!! <body> !!! <div id="menu">{% block menu %}{% endblock menu %}</div> !!! <div id="content">{% block content %}{% endblock content %}</div> <div id=”copyright”>{% block copyright %}everes{% endblock %}</div> !!! </body> ! </html> ! {% extends 'base.html% %} ! {% block title %}{{ block.super }} {% endblock title %} ! {% block menu %} {% endblock menu %} ! {% extends 'app/base.html' %} ! {% block content %} {% endblock content %}
  • 122. ! <html> !!! <head>{% block title %} {% endblock title %}</head> <script type="text/javascript" src="common.js"></script> {% block custom_js %}{% endblock custom_js %} !!! <body> !!! <div id="menu">{% block menu %}{% endblock menu %}</div> !!! <div id="content">{% block content %}{% endblock content %}</div> <div id=”copyright”>{% block copyright %}everes{% endblock %}</div> !!! </body> ! </html> ! {% extends 'base.html% %} ! {% block title %}{{ block.super }} {% endblock title %} ! {% block menu %} {% endblock menu %} ! {% extends 'app/base.html' %} ! {% block content %} {% endblock content %}