Your SlideShare is downloading. ×
0
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Zagreb workshop
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Zagreb workshop

620

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
620
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PYLADIES PRESENTS:Build your own blog with Django! 1
  • 2. {{ GOALS }} Have funLearn about web development Create something 2
  • 3. {{ LAYOUT }}Overview of Django Framework Code together 3
  • 4. {{ DJANGO }}Django is to Python as Rails is to Ruby 4
  • 5. {{ LET’S GET STARTED }} Quick note: do NOT copy texton these slides into your text editor. Write it out yourself. 5
  • 6. {{ LET’S GET STARTED }} Activate your virtualenv $ workon MyBlog orC:UserDesktopProjects MyBlogToolsScripts activate 6
  • 7. {{ LET’S GET STARTED }} Start a Python shell (MyBlog)$ python And type ‘import django’ >>> import django 7
  • 8. {{ LET’S GET STARTED }}Back in the terminal (NOT in the python shell), type (one line): (MyBlog)$ django-admin.py startproject ZagrebWorkshop 8
  • 9. {{ RUNSERVER }} On the terminal/console:(MyBlog)$ python manage.py runserver In a web browser, go to: http://localhost:8000 BAM it works. 9
  • 10. {{ SETTINGS.PY }} Open up settings.py DATABASES = { default: { ENGINE: django.db.backends.sqlite3, NAME: MyBlog.db, USER: , PASSWORD: , HOST: , PORT: , } } 10
  • 11. {{ SYNCDB }} Back on the terminal/console:(MyBlog)$ python manage.py syncdb and follow prompts. BAM your DB is set up. 11
  • 12. {{ STARTAPP }} Back on the terminal/console:(MyBlog)$ python manage.py startapp MyBlog(MyBlog)$ cd MyBlog(MyBlog)$ ls OR(MyBlog)C:UserDesktop> dir BAM more files! 12
  • 13. {{ MODELS.PY }} Open up models.pyfrom django.db import modelsclass Post(models.Model): title = models.CharField(max_length=60) body = models.TextField() created = models.DateTimeField(auto_now_add=True) def __unicode__(self): return self.title 13
  • 14. {{ SETTINGS.PY }} Return to settings.py file.INSTALLED_APPS = ( django.contrib.auth, django.contrib.contenttypes, django.contrib.sessions, django.contrib.sites, django.contrib.messages, django.contrib.staticfiles, # Uncomment the next line to enable the admin: # django.contrib.admin, # Uncomment the next line to enable admin documentation: # django.contrib.admindocs, MyBlog,) 14
  • 15. {{ SYNCDB }}Back on the terminal/console: (MyBlog)$ python manage.py syncdb again. Then do: (MyBlog)$ python manage.py shell Let’s play around a little. 15
  • 16. {{ SETTINGS.PY }} Return to settings.py file.INSTALLED_APPS = ( django.contrib.auth, django.contrib.contenttypes, django.contrib.sessions, django.contrib.sites, django.contrib.messages, django.contrib.staticfiles, # Uncomment the next line to enable the admin: django.contrib.admin, # Uncomment the next line to enable admin documentation: # django.contrib.admindocs, MyBlog,) 16
  • 17. {{ ADMIN }} Something is missing.Create MyBlog/admin.pyfrom django.contrib import adminfrom MyBlog.models import Postclass PostAdmin(admin.ModelAdmin): search_fields = [title]admin.site.register(Post, PostAdmin) 17
  • 18. {{ ADMIN }}Back on the terminal/console:(MyBlog)$ python manage.py runserver In a web browser, go to: http://localhost:8000/admin woah. 18
  • 19. {{ URLS }} Open urls.py And edit for the following:from django.conf.urls import patterns, include, urlfrom django.contrib import adminadmin.autodiscover()urlpatterns = patterns(, url(r^admin/, include(admin.site.urls)),) 19
  • 20. {{ ADMIN }}Back on the terminal/console:(MyBlog)$ python manage.py runserver In a web browser, go to: http://localhost:8000/admin woah. 20
  • 21. {{ URLS }} Now go to: http://localhost:8000Missing something... 21
  • 22. {{ URLS }} Reopen urls.py And edit for the following:from django.conf.urls import patterns, include, urlfrom django.contrib import adminadmin.autodiscover()urlpatterns = patterns(, url(r^$, ‘MyBlog.views.home’, name=home), url(r^(d+)/$, ‘MyBlog.views.post’, name=post), url(r^admin/, include(admin.site.urls)),) 22
  • 23. {{ ADMIN }}Back on the terminal/console:(MyBlog)$ python manage.py runserver In a web browser, go to: http://localhost:8000/ Hrmph. No Views. 23
  • 24. {{ VIEWS }}Open views.py...And let’s write two views together. 24
  • 25. {{ TEMPLATES }}Download http://l.ynn.me/SVaCxp & unzip/open the file. Move the “templates” folder to under the main “ZagrebWorkshop” directory. 25
  • 26. {{ TEMPLATES }} Move the “static” folder to under the second“ZagrebWorkshop” directory. 26
  • 27. {{ TEMPLATES }} Optional: open “ZagrebWorkshop/templates/blog/base.html” and edit for Author, Email, and/or Site Title 27
  • 28. {{ TEMPLATES }}Optional: If you created a Disqus account, copy and paste your JavaScript code in:“ZagrebWorkshop/templates/blog/ post.html” 28
  • 29. {{ DIRECTORIES }} !"" ZagrebWorkshop/ #"" MyBlog/ $   #"" __init__.py $   #"" admin.py $   #"" models.py $   #"" tests.py $   #"" views.py #"" ZagrebWorkshop/ $   #"" __init__.py $   #"" settings.py | !"" static/ $   #"" urls.py $   #"" wsgi.py #"" manage.py #"" MyBlog.db !"" templates/ !"" blog/ 29
  • 30. {{ SETTINGS.PY }} Reopen settings.py and add these few bits.Refer to notes for specific line numbers.https://gist.github.com/4144268 30
  • 31. {{ COLLECTSTATIC }}(MyBlog)$ python manage.py collectstatic 31
  • 32. {{ TA-DA }} One last time(MyBlog)$ python manage.py runserver You should see your blog! 32
  • 33. {{ SETUP HEROKU }} Make a venv snapshot(MyBlog)$ pip freeze > requirements.txt 33
  • 34. {{ SETUP HEROKU }} Make a new file called “Procfile” and save it in your main “ZagrebWorkshop” directoryweb: python manage.py runserver 0.0.0.0:$PORT --noreload 34
  • 35. {{ SETUP HEROKU }} $ git config --global user.name “Your Name”$ git config --global user.email “Your Email” $ git init $ git add . $ git commit -m “My Django Application” 35
  • 36. {{ SETUP HEROKU }} (MyBlog) $ heroku login (MyBlog) $ heroku createFollow the steps for ‘heroku create’. Take note of the URL that Heroku gives you on your terminal (MyBlog) $ git push heroku master 36
  • 37. {{ DEPLOY }} (MyBlog) $ git push heroku masterIt may take a couple of minutes. Then, navigate to that URL from previous step 37

×