Instructor | Vikash Ruhil |
Timing Venue | 11am to 5pm Room No 1 School of Computer and System Sciences JNU NEW Campus Delhi-67 |
How to Reach Phone | By Delhi Metro:- Hauz khas Merto station (Jnu is about 1 Km from Hauz khas Metro station ) +91-9717482118 |
Email | vikasruhil06 at gmail.com |
DATE Prerequisites Syllabus | 30th July 2011(1 day boot camp) 1)come with your laptop 2)better if have Linux/Mac as OS 3) for window no more support after bootcamp 4) training is free but no other services provided i.e food ..so come ready with your own 5)Also send me mail about your confirmation with your short Bio & why you want attend, why to want learn django ! 6)6)Please bring your printed mail copy of our sent confirmation so that we ensure your space over-there 7) so meet @Jnu 1)Django introduction Basic concept 2) Web development (django vs wep2py , who is better) 3) Google app engine 4) Creating Facebook app using GAE +django 5) Web server set up & usage 6) Database setup & usage 7) ORM (Object Relational Mapping) + Templates (for views) + Forms + Much more some updations soon |
Course mailing list : A list server is used to email important messages to students in the course . soon coming !.
Other Prerequisites: Graduate standing, ability to install software, learn material quickly and find solution to problems,read following resources to get updatedWhat's django
● “Django is a high-level Python Web framework
that encourages rapid development and clean,
pragmatic design.”
● DRY (Don't Repeat Yourself)
http://c2.com/cgi/wiki?DontRepeatYourself
● ORM (Object Relational Mapping) + Templates
(for views) + Forms + Much more
Getting Started
Before using Django you need to be sure Python is installed. Django works with any version of Python between 2.4 and 2.7. If you followed the directions for ps6 and installed Python, you are already set for this. Otherwise, follow the directions in the Python Guide to install Python first. Installing Django on Windows- Download and install 7-Zip (or some other zip utility that supports tar files such as WinZip)
- Download Django 1.1: http://www.djangoproject.com/download/1.1.1/tarball/
- Unpackage the Django tarball file. If you have WinZip, this should happen automatically when you open the downloaded file. If you have installed 7-Zip, start the 7-Zip file manager and select the Django-1.1.1.tar.gz file you downloaded. Then, select "Extract" and select the directory where you want to extract the files.
- Open a Windows Command Shell and go to the unzipped folder. You can open the command shell by running "cmd.exe" or by selecting "All Programs | Accessories | Command Prompt" from the Start menu. Once you have the command shell, assuming that the folder was extracted to your desktop the command to use is:
in Windows XP: cd C:\Documents and Settings\[username]\Desktop\Django-1.1.1
in Windows Vista: cd C:\Users\[username]\Desktop\Django-1.1.1
where [username] is your personal folder. - Run the command: python setup.py install [If you get errors for this, Mail me !.]
- Django is now installed!
- Download Django 1.1: http://www.djangoproject.com/download/1.1.1/tarball/
- Double-click the Django tarball file. This should automatically unzip the file. Place the file on your desktop for simplicity.
- Open your "Terminal". This is similar to "Run" on a Windows PC. At the command line, type the following command and hit enter: cd /Users/[YOUR_NAME]/Desktop/Django-1.1.1
- Type the following command: sudo python setup.py install. You will be required to enter your password. When you type your password, your keystrokes will be recorded but will not appear in the Terminal. Type your password CAREFULLY and then hit enter.
- Django is now installed!
Frequently Asked Questions - How do I run a Windows command shell? In 7, select the Start menu and enter "cmd.exe" in the Search box.
In other versions of Windows, select "Start | All Programs | Accessories" and select "Command Prompt". - How do I run python? When I try to run python, I get an error like:
] python setup.py install 'python' is not recognized as an internal or external command, operable program or batch file.The problem is python is not on your Windows command path. To add the Python directory to your Windows path, open the Control Panel and select System and "Advanced System settings". Select "Environment Variables". Edit the "Path" variable to add the directory containing python. For example, if the current value of "Path" isC:\Program Files (x86)\CVSNT\;C:\Program Files(x86)\texlive\2008\\bin\win32and you installed Python in C:\Python26, edit the "Path" variable value to be:C:\Program Files (x86)\CVSNT\;C:\Program Files(x86)\texlive\2008\\bin\win32;C:\Python26An easier (temporary) workaround for this, is to just type the full path to run python:] C:\Python26\python setup.py install - How should I read in data from a file? If the data in your file is separated into lines, and the elements in each entry separated by commas (this is what is known as a "comma-separated values" or csv file), the easy way to read in the data is:
f = open (filename, 'r') for line in f: entries = line.split(",") ### entries is now a Python list of the elements in that lineIf you have data to pre-seed your database with, it is a good idea to store it in a file and use code like this to read it in. Then, from the entries you would need to construct the relevant model object and save() it to store it in the database.
Django and Python development online and printed resources
Django
General
- Django home page: http://djangoproject.com/
- Downloading Django: http://www.djangoproject.com/download
- How to install Django: http://www.djangoproject.com/documentation/install
- Django Source Code: http://code.djangoproject.com/
- Django Trunk: http://code.djangoproject.com/svn/django/trunk
Editors and IDEs
- Editing Django templates with Emacs: http://code.djangoproject.com/wiki/Emacs
- Using TextMate with Django: http://code.djangoproject.com/wiki/TextMate
- Using Vim with Django: http://code.djangoproject.com/wiki/UsingVimWithDjango
Web server setups
- Django with FastCGI: http://www.djangoproject.com/documentation/fastcgi/
- DjangoCerise (Django with CherryPy): http://www.xhtml.net/scripts/Django-CherryPy-server-DjangoCerise
django-cpserver(Django with CherryPy): http://lincolnloop.com/blog/2008/mar/25/serving-django-cherrypy/
- Web server options: http://code.djangoproject.com/wiki/ServerArrangements
Database setups
- SQL Server 2005+ Django backend DB support: http://code.google.com/p/django-mssql/
- Python (and SQLAlchemy) IBM DB2 and Informix IDS support: http://code.google.com/p/ibm-db/
- SQLite vacuum script: http://djangosnippets.org/snippets/234
Templating Engines
- Django template language: http://www.djangoproject.com/documentation/templates_python
- Integrating with Mako and Genshi: http://djangosnippets.org/snippets/97
Community
- Contributing to Django: http://www.djangoproject.com/documentation/contributing
- Django developers: http://djangopeople.net/
- Django help wanted: http://djangogigs.com/
- more Django developers: http://djangogigs.com/developers/
- Numerous unoffical resources: http://code.djangoproject.com/wiki/DjangoResources
Example Django applications
There is a lot of open source Django code available online. Reading the source of established Django projects can be a great way to learn more about the framework. Our recommended starting points include:- http://djangosnippets.org/ Small pieces of Django code for doing specific tasks
- http://code.djangoproject.com/browser/djangoproject.com/django_website The source to the djangoproject.com itself
- http://www.djangosites.org/with-source/ Sites in the djangosites.org directory that offer downloadable source code
- http://djangoplugables.com/ A tracker for open source Django projects
- http://code.google.com/hosting/search?q=label:django Django projects hostd on Google Code
- http://github.com/search?q=django Django projects (including mirrors of projects whose official repositories are in Subversion) hosted on github.com, using the Git distributed version control system
- http://pinaxproject.com/ An open-source collection of integrated, but reusable, apps.
Google App Engine
- Home Page: http://code.google.com/appengine/
- SDK Project home page: http://code.google.com/p/googleappengine/
- Developer's Guide: http://code.google.com/appengine/docs/
- Tutorial: http://code.google.com/appengine/docs/gettingstarted/
- Articles: http://code.google.com/appengine/articles/
- Login page (provided you have a GAE account): http://appengine.google.com/
- Google Groups: http://code.google.com/appengine/groups.html
- Bug/Issue Tracker: http://code.google.com/p/googleappengine/issues/list
- Blog: http://googleappengine.blogspot.com/
- Featured Apps: http://appgallery.appspot.com/
Google App Engine Helper for Django
- Google App Engine Helper for Django home page: http://code.google.com/p/google-app-engine-django/
- Using the Helper for new/existing Django projects: http://code.google.com/p/google-app-engine-django/source/browse/trunk/README
- Using the Google App Engine Helper for Django (Matt Brown), May 2008: http://code.google.com/appengine/articles/appengine_helper_for_django.html
- Bug/Issue Tracker: http://code.google.com/p/google-app-engine-django/issues/list
Online Videos
- Google I/O Talks (most with presentation slides), 2008 May 28-29
- Rapid Development with Python, Django, and Google App Engine (Guido van Rossum) http://sites.google.com/site/io/rapid-development-with-python-django-and-google-app-engine
http://www.youtube.com/watch?v=v1gTI4BOPUw
- Building Scalable Web Apps with App Engine (Brett Slatkin) http://sites.google.com/site/io/building-scalable-web-applications-with-google-app-engine
- Engaging User Experiences with App Engine (John Skidgel and Lindsey Simon) http://sites.google.com/site/io/engaging-user-experiences-with-google-app-engine
- Google App Engine Datastore Under the Covers (Ryan Barrett) http://sites.google.com/site/io/under-the-covers-of-the-google-app-engine-datastore
- Building a Production Quality Apps on Google App Engine (Ken Ashcraft) http://sites.google.com/site/io/best-practices---building-a-production-quality-application-on-google-app-engine
- Working with Google App Engine Models (Rafe Kaplan) http://sites.google.com/site/io/working-with-google-app-engine-models
- App Engine in Action (Kevin Gibbs) http://www.youtube.com/watch?v=oUkj3tNVH44
- Rapid Development with Python, Django, and Google App Engine (Guido van Rossum) http://sites.google.com/site/io/rapid-development-with-python-django-and-google-app-engine
- Introducing GAE at Google Campfire, 2008 Apr 7 http://innovationstartups.wordpress.com/2008/04/10/google-app-engine-youtubes/ all 6 parts
- Part 1: http://www.youtube.com/watch?v=3Ztr-HhWX1c
- Part 2: http://www.youtube.com/watch?v=tcbpTQXNwac
- Part 3: http://www.youtube.com/watch?v=oG6Ac7d-Nx8
- Part 4: http://www.youtube.com/watch?v=oTFL7FPLnXY
- Part 5: http://www.youtube.com/watch?v=JcM2Ejk1tis
- Part 6: http://www.youtube.com/watch?v=K7usoKm5zwE
- Part 1: http://www.youtube.com/watch?v=3Ztr-HhWX1c
- Developing and Deploying an Application on Google App Engine, 2008 Apr 7 (Brett Slatkin) http://www.youtube.com/watch?v=bfgO-LXGpTM
- Addressbook, 2008 Jun 17 (Dion Almaer, Ben Galbraith) http://www.youtube.com/watch?v=nwn3YY6cyEQ
- TechCrunch's Sample App Engine App http://www.techcrunch.com/2008/04/08/techcrunch-labs-our-experience-building-and-launching-app-on-google-app-engine/
Python
General Documentation
- Home Page: http://python.org
- Python Documentation: http://docs.python.org
- Docs for exceptions module: http://docs.python.org/lib/module-exceptions.html
- Recent changes to importing: http://docs.python.org/whatsnew/pep-328.html
- Using emacs with Python: http://python.org/emacs
PEPs
- Python Style Guide: http://python.org/dev/peps/pep-0008
- New bytes type: http://python.org/dev/peps/pep-3137
- Changes to importing: http://python.org/dev/peps/pep-0328
- Python 3.0/3000/3k: http://python.org/dev/peps/pep-3000
- Python 3.0 Plans: http://python.org/dev/peps/pep-3100
Reference
- Python FAQ: http://python.org/doc/FAQ.html
- Python Quick Reference Guide: http://rgruet.free.fr/#QuickRef
Tutorials
- Python Tutorials List: http://www.awaretek.com/tutorials.html
- Instant Hacking: http://hetland.org/writing/instant-hacking.html
- Instant Python: http://hetland.org/writing/instant-python.html
- How to Think Like a Computer Scientist, 2nd ed.: http://openbookproject.net/thinkCSpy/
- Learning to Program: http://www.freenetpages.co.uk/hp/alan.gauld/
Testing and Documentation Tools
- Epydoc: http://epydoc.sf.net
Software
General
- FreeBSD: http://freebsd.org
- Debian: http://debian.org
- Ubuntu: http://ubuntu.com
- Cygwin: http://www.cygwin.com/
- MySQL: http://mysql.com
- Oracle: http://oracle.com
- PostgreSQL: http://postgresql.org
- SQLite: http://sqlite.org
- Mailman: http://www.gnu.org/software/mailman
Web Servers and Modules
- Apache: http://httpd.apache.org
mod_python: http://modpython.org
mod_wsgi: http://modwsgi.org/
- ligHTTPD: http://www.lighttpd.net/
- CherryPy: http://cherrypy.org/
- Twisted.Web2: http://twistedmatrix.com/trac/wiki/TwistedWeb2
Tools
Utilities
- 7-Zip: http://7zip.org
- Apache Bench: http://httpd.apache.org/docs/2.2/programs/ab.html
Text Formatting
- Markdown: http://daringfireball.net/projects/markdown
- Python Markdown: http://www.freewisdom.org/projects/python-markdown/
- Python Markdown
wtables(Wrapped Tables) Extension: http://brian-jaress.livejournal.com/5978.html
- Python Markdown2: http://code.google.com/p/python-markdown2/
IDEs
- IPython: http://ipython.scipy.org
- Eclipse: http://eclipse.org
- PyDev: Python Eclipse plug-in: http://pydev.sourceforge.net
- SPE (Stani's Python Editor): http://pythonide.blogspot.com/
Web browsers
- FireFox: http://mozilla.com/firefox
- Opera: http://opera.com
Revision control
- Git: http://git.or.cz
- Git resources: http://git-scm.com
- Mercurial: http://www.selenic.com/mercurial
- Mercurial book: http://hgbook.red-bean.com
- Subversion: http://subversion.tigris.org
- Subversion book: http://svnbook.red-bean.com
Issue Tracking
- Trac: http://trac.edgewall.org
- Trac Hacks: http://trac-hacks.org
Text editors
- Vim: http://www.vim.org
- TextMate: http://macromates.com/
- Emacs: http://www.gnu.org/software/emacs/
JavaScript Libraries
- jQuery: http://jquery.com
- Prototype: http://prototypejs.org/
- MooTools: http://mootools.net/
- Dojo: http://dojotoolkit.org/
- Yahoo UI (YUI): http://developer.yahoo.com/yui/
JavaScript Object Notation (JSON)
- JSON home page: http://json.org
- Comparing JSON modules for Python: http://deron.meranda.us/python/comparing_json_modules
- Choosing a Python JSON Translator: http://blog.hill-street.net/?p=7
Source Code Syntax Highlighters
- JavaScript code syntax highlighter: http://code.google.com/p/syntaxhighlighter/
- Pygments Python syntax highlighter: http://pygments.org/
Test tools
- Twill: http://twill.idyll.org/
- Selenium: http://selenium.openqa.org/
Memcached
- Memcached: http://danga.com/memcached
- Linux Journal Memcached article: http://www.linuxjournal.com/article/7451
- Memcached for Windows: http://splinedancer.com/memcached-win32
- Pure Python Memcached client: http://tummy.com/Community/software/python-memcached
- Python/C-based Memcached client: http://gijsbert.org/cmemcache/
Miscellaneous
- http://feedparser.org
- http://gnuwin32.sf.net/packages/libarchive.htm
- http://vobject.skyhouseconsulting.com
- http://www.lorenzogil.com/projects/pycha
- http://www.macports.org
Python Books
Reference (these books freely distributed during the course-ware studies )
- Python Phrasebook
- Brad Dayley, Sams, 2006
- Python in a Nutshell, 2nd ed.
- Alex Martelli, O'Reilly, 2006
- Python Essential Reference, 3rd ed.
- David M. Beazley, Sams, 2006
- Python Cookbook, 2nd ed.
- (ed.) A. Martelli, A. Ravenscroft, D. Ascher, O'Reilly, 2005
- Python Pocket Reference, 3rd ed.
- Mark Lutz, O'Reilly, 2005