ashok
Comments
Reactions

Django for a Rails Developer

By : Dheeraj Kumar Ketireddy

This is not yet another Django vs Rails blog post. It is a compilation of notes I made working with Django after having worked on Rails for years.

In this post I want to give a brief introduction to Django project layout from a Rails developer point of view, on what is there, what is not there and where to look for things. It should help a rails developer working on django be able to find the necessary files and underatnd the layout of the project files.

Once you have both the frameworks installed on your system you can create the projects using the commands

# creating a rails project
rails rails_project
# creating a Django project
django-admin.py startproject django_project

Lets look at the files and structure created by the respective frameworks

#rails_project
README
Rakefile
app/
    controllers/
        application_controller.rb
    helpers/
        application_helper.rb
    models/
    views/
        layouts/
config/
    boot.rb
    database.yml
    environment.rb
    environments/
        development.rb
        production.rb
        test.rb
    initializers/
        backtrace_silencers.rb
        inflections.rb
        mime_types.rb
        new_rails_defaults.rb
        session_store.rb
    locales/
        en.yml
    routes.rb
db/
    seeds.rb
doc/
    README_FOR_APP
lib/
    tasks/
log/
    development.log
    production.log
    server.log
    test.log
public/
    404.html
    422.html
    500.html
    favicon.ico
    images/
        rails.png
    index.html
    javascripts/
        application.js
        controls.js
        dragdrop.js
        effects.js
        prototype.js
    robots.txt
    stylesheets/
script/
    about
    console
    dbconsole
    destroy
    generate
    performance/
        benchmarker
        profiler
    plugin
    runner
    server
test/
    fixtures/
    functional/
    integration/
    performance/
        browsing_test.rb
    test_helper.rb
    unit/
tmp/
    cache/
    pids/
    sessions/
    sockets/
vendor/
    plugins/

that is huge....

lets look at the django project files

# django_project
__init__.py
manage.py
settings.py
urls.py

far lesser when compared to the rails project.

In fact a rails project comes with everything a web application needs. When I say everything I mean everything..... base application, routing, database configuration, development, test and production environment specific configurations and their respective log files, javascript, test, some standard html files and some helpful scripts for developing.

Why then does a Django project have so less number of files? It has got to do with the Django's philosophy and the concept of applications. The django project is not complete without the application, so lets create a application inside the project and have a look at the structure

django-admin.py startapp app

# django_project
__init__.py
app/
    __init__.py
    models.py
    tests.py
    views.py
manage.py
settings.py
urls.py

even after including this, the number of files is still less than the rails project.

Lets break it down and relate both the frameworks.

Rails Django
Configuration Files
  • config/database.yml for database settings
  • config/environments/
  • development.rb for development specific settings
  • production.rb for production specific settings
  • test.rb for test specific settings
  • settings.py, one file for everything, database configuration and any other configuaration or settings will be in this file
    URLs config/routes.rb urls.py
    Schema/Models
  • db/schema.rb for the ruby version of db schema
  • app/models/* for the models
  • complete schema is not stored any where
  • Under every application in your project, models.py file will contain the table specific schema stored as django models
  • Management Commands
  • ./script/server, start server
  • ./script/console, ruby console
  • ./script/dbconsole, database console
  • rake db:migrate, run database migrations
  • manage.py is the file for all your tasks
  • ./manage.py runserver, start server
  • ./manage.py shell, python console
  • ./manage.py dbshell, database console
  • ./manage.py syncdb
  • Application Code app/controllers/* will contain the application logic views.py file under each application folder is the place to write to your application logic, file can be named with any name, views.py is the general convention
    Application templates app/views//* is the place for the templates
  • default: looks inside 'templates' directory, under the application directory
  • looks in the directory specified by 'TEMPLATE_DIRS' in settings.py
  • and lets have a look at the other things in rails_project

    • Logging, unders the logs directory
    • Some default html files for some standard http errors, under the public directory
    • Rails has very good support for testing, for that bunch of files under tests
    • Vendor/Plugin, place for some third party plugins/applications.

    Missing pieces in Django (for a rails developer)

    • Scaffold magic
    • Generate commands
    • Migrations

    and what is Django is providing by default? Sorry no extra files in the project; but you will get an authentication system and Django's killer feature, admin, just by modifying your 'INSTALLED_APPS' in your settings. It is similar to the plugins feature in Rails, Django's philosophy of resusable apps helps you in getting any particular functionality into your project.

    Following is a list of what I like in Django (and associated apps):

  • Admin (almost everybodys favourite)
  • Generic Views, helps from writing a lot of repetetive code, James Bennett's blog on generic views
  • Django DB API & QuerySets, (chaining and the filters that are missing in ActiveRecord)
  • Forms and above all, my favorite yet: ModelForm.
  • You can get the migrations feature in Django using South. Being an external app, it a bit of pain in setting it up to work with South. Other than that it is more like rails migrations
  • django-command-extensions
  • Search the Django way
  • Following are the questions that I keep getting,

  • When a project will almost have a application why creating project & app has to be two different steps?
  • Why not create a 'templates' directoy and a 'base.html' either in project's directory or in the apps's directory, because creating the same templates directory and same base.html for every project is not DRY :) ?
  • Why serving static files in development has to be a additional setup, as no developer wants to setup a server for serving static files, I am aware of 'django.static.serve' but still that is an additional setup, why not create a sample media directory and a url for the same in urls.py ?
  • let me know via comments, if you have any answers

    program used for listing the files in a directory

    import os
    import sys
    
    try:
        directory = sys.argv[1]
    except IndexError:
        directory = os.path.dirname(os.path.abspath(__file__))
    
    def r_list_dir(directory, indent=0):
        dir_files = sorted([os.path.join(directory, file_name) for file_name in  os.listdir(directory)])
        for item in dir_files:
            if os.path.isdir(item):
                print " " * indent + os.path.split(item)[1] + '/'
                r_list_dir(item, indent+4)
            else:
                print " " * indent + os.path.split(item)[1]
    
    r_list_dir(directory)
    

    Related Posts


    Can we help you build amazing apps? Contact us today.

    Topics : rails django python

    Comments

    shabda

    > let me know via comments, if you have any answers

    For the record, I believe all the questions you asked are valid design decisions.

    commmenttor
    Fidel Ramos

    I'll answer your questions as I see it, if you want more official answers try django-users.

    When a project will almost have a application why creating project & app has to be two different steps?

    I think it'd be more confusing having two different ways to create a project. And what would happen to INSTALLED_APPS? Also, only the simplest of projects should have only one app. Most will at least reuse other existing apps (like the django-command-extensions you mentioned, or django-registration, django-tagging, etc.)

    Remember the Zen of Python: There should be one-- and preferably only one --obvious way to do it.

    Why not create a ‘templates’ directoy and a ‘base.html’ either in project’s directory or in the apps’s directory, because creating the same templates directory and same base.html for every project is not DRY :) ?

    Not everyone uses the "templates" directory. The default setting TEMPLATE_LOADERS also uses the "app_directories" template loader, so applications can have their own "templates" directories.

    I don't think it would hurt much to have the templates directory created by the startproject command, but it's not something I miss, I don't create a project daily you know. It's the same with the media/static directory.

    Why serving static files in development has to be a additional setup, as no developer wants to setup a server for serving static files, I am aware of ‘django.static.serve’ but still that is an additional setup, why not create a sample media directory and a url for the same in urls.py ?

    In my opinion the best solution would be that the startproject command included the static content serving snippet commented out in the urls.py file, so the developer only needs to create the media dir, uncomment and edit settings.MEDIA_ROOT.

    commmenttor
    Olivier

    > When a project will almost have a application why creating project & app has to be two different steps?
    What would the app name be? Its just one more command. Better than ./script/generate {model, controller, view}

    > Why not create a ‘templates’ directoy and a ‘base.html’ either in project’s directory or in the apps’s directory, because creating the same templates directory and same base.html for every project is not DRY ?

    I typically create a 'templates' directory in my project's dir. This makes my apps less reusable. I like how django does not force you to go either way... I'm smart enough to decide when DRY is DRY enough for decisions like these.

    > Why serving static files in development has to be a additional setup, as no developer wants to setup a server for serving static files, I am aware of ‘django.static.serve’ but still that is an additional setup, why not create a sample media directory and a url for the same in urls.py ?

    Good point. It might be a sane default to start with the dev static server.

    commmenttor
    casseen 26th Nov., 2009

    I know it is even used throughout django's own tutorial, but please do not put applications inside the project folder. It is convenient as django adds the project automatically to the python path, but it will fire back sooner or later. Put your apps somewhere else outside the project folder and add them manually to your python path. The full power of django unfolds when you treat your applications as what they should be: reusable.

    commmenttor
    Ashok

    @Fidel Ramos, @Olivier

    the views expressed here are from a rails developer point of view, so coming to creating a project & app why not create an application folder with some default name, may be 'app' itself.

    Do you ever have comments on the naming of the files urls.py, settings.py, manage.py, models.py, views.py ??, may be not because that is the convention followed ever since you know Django. The same way if you have an application created with the name 'app' from beginning, you won't have any comments on that as well and the INSTALLED_APPS settings can have this app name by default.

    Because of the concept of reusable apps, most of the applications have a 'templates' directory inside the application.

    or a default 'templates' directory on project level. It is not about forcing anything on the end user, just about some defaults. I mentioned this point because, while going through different tutorials I have to repeat the same steps of creating templates directory, base html almost with the same blocks, so I felt its repetitive and I want this to be default with the framework as every project requires this. Something minimum for getting up & running quickly.

    I feel I used the word DRY wrongly in this context.

    commmenttor
    Ashok

    @casseen

    agreed..!!

    But the main purpose of framework is not creating reusable apps and it makes more sense for the app to be inside your project directory when you are not developing a reusable app.

    commmenttor
    Elf Sternberg

    as no developer wants to setup a server for serving static files...

    Count me as "no developer," then. I always set up an instance of thttpd as a separate media server for every project, rails or Django, and I often put Nginx (or, soon maybe, Varnish) in front of the whole thing.

    commmenttor
    panchicore 26th Nov., 2009

    django have the most important things in a web framework (url routing, http framework, i18n i10n engine, orm, is scalable), the other stuff is supplied by enjoying coding, django-pluggables. is about freedom.

    commmenttor
    Thomas R. Koll

    It sounds strange that so many write about "reusable apps". I ususally create unique rails apps and anything of wider interest goes into a plugin that I can release separate from the app.

    What does djangos plugin infrastructure look like? Or is one expected to use the python libraries? What does a plugin/library life cycle look like and how fast can new plugins/libraries spread? We now have gemcutter on Ruby which is going to be even faster than it was with rubygems. Does Python have anything similar where everyone can release his libraries?

    commmenttor
    Clayton

    As a rails developer I'm interested in seeing how other frameworks handle these different concerns (config, templates, generators etc.) I haven't personally worked with Django but I might check it out a little more seriously now.

    commmenttor
    uggs sale

    Nice post here. It does make senses, appreciate for sharing. Thanks!

    commmenttor
    roger

    Interesting comparison. I'll admit I really like django because the startup time is quick, and the admin is nice (why doesn't rails have one by default?)
    -rp

    commmenttor

    Reactions

    hackernewsbot

    Django for a Rails Developer… http://uswaretech.com/blog/2009/11/django-for-a-rails-developer/

    This comment was originally posted on Twitter

    hrjn_rss

    Django for a Rails Developer: Comments http://url4.eu/pgn3

    This comment was originally posted on Twitter

    uswaretech

    Django for a Rails Developer http://uswaretech.com/blog/2009/11/django-for-a-rails-developer/

    This comment was originally posted on Twitter

    mr_brejoc

    Feel the warmth a magic pony gives :D | RT@uswaretech: Django for a Rails Developer http://bit.ly/7v7Tvh

    This comment was originally posted on Twitter

    hackernws

    Django for a Rails Developer http://bit.ly/4UmIEh

    This comment was originally posted on Twitter

    ulf

    Anyone knows if this exists vice-versa?

    This comment was originally posted on Hacker News

    arthurk

    "Why not create a ‘templates’ directoy and a ‘base.html’ either in project’s directory or in the apps’s directory, because creating the same templates directory and same base.html for every project is not DRY?"There’s nothing wrong with that. Even the djangoproject.com website does it like that: http://code.djangoproject.com/browser/djangoproject.com/djan…

    This comment was originally posted on Hacker News

    arthurk

    "Why not create a ‘templates’ directoy and a ‘base.html’ either in project’s directory or in the apps’s directory, because creating the same templates directory and same base.html for every project is not DRY?"There’s nothing wrong with that. Even the djangoproject.com website does it: http://code.djangoproject.com/browser/djangoproject.com/djan…;

    "Why serving static files in development has to be a additional setup, as no developer wants to setup a server for serving static files, I am aware of ‘django.static.serve’ but still that is an additional setup, why not create a sample media directory and a url for the same in urls.py ?"

    Read this: http://www.b-list.org/weblog/2008/jun/23/media/

    This comment was originally posted on Hacker News

    arthurk

    "Why not create a ‘templates’ directoy and a ‘base.html’ either in project’s directory or in the apps’s directory, because creating the same templates directory and same base.html for every project is not DRY?"There’s nothing wrong with that. I’ve always done it this way and even the djangoproject.com website does it: http://code.djangoproject.com/browser/djangoproject.com/djan…

    This comment was originally posted on Hacker News

    brentcappello

    Django for a Rails Developer http://bit.ly/61vFTe

    This comment was originally posted on Twitter

    ashok_raavi

    The question is, why not the framework create it automatically ?why one has to create it manually every time a project/app is created ?Atleast a default template directory and a standard base.html on a project level will reduce the repetitive work.

    This comment was originally posted on Hacker News

    nailer

    For me the hardest thing about Django was comprehending that the ‘View’ doing most of the work.* urls point to views

    * views do stuff, perhaps involving models

    * the view passes a dict to the template, which is sent as a response to the browser.

    This comment was originally posted on Hacker News

    nailer

    For me the hardest thing about Django was comprehending that the ‘View’ doing most of the work.* urls point to views

    * views do stuff. Perhaps hard, manly stuff. Perhaps involving models. The views have hard, beefy beceps.

    * the view passes a dict to the template, which is sent as a response to the browser.

    Once you get that, it’s not so hard.

    This comment was originally posted on Hacker News

    nailer

    For me the hardest thing about Django was comprehending that the ‘View’ doing most of the work.* urls point to views

    * views do stuff. Perhaps hard, manly stuff. Perhaps involving models. Django views have hard, beefy beceps.

    * the view passes a dict of results to the template, which is sent as a response to the browser.

    Once you get that, it’s not so hard.

    This comment was originally posted on Hacker News

    tek_news

    HNews: Django for a Rails Developer http://bit.ly/5M5nbv

    This comment was originally posted on Twitter

    ulf

    Actually, if you apply the MVC paradigm, the Django View is a mix of View and Controller. Admittedly a little confusing

    This comment was originally posted on Hacker News

    YCHackerNews

    Django for a Rails Developer: http://bit.ly/7lv5DF Comments: http://bit.ly/6OIN8s

    This comment was originally posted on Twitter

    scorpion032

    A perfect tl;dr.

    This comment was originally posted on Hacker News

    scorpion032

    Django for a Rails Developer: http://uswaretech.com/blog/2009/11/django-for-a-rails-developer/

    This comment was originally posted on Twitter

    riffer

    Perfectly stated. I still have the piece of paper from a couple of years ago where I drew this out (I’m both analytical and spatial/visual), and my holistic diagram looks just like what you wrote.At the risk of being negative, I think the real issue is that the extensive documentation is geared more towards designers than hackers.

    This comment was originally posted on Hacker News

    Trollim

    Django for a Rails Developer http://bit.ly/84SPkT

    This comment was originally posted on Twitter

    arthurk

    "Why not create a ‘templates’ directoy and a ‘base.html’ either in project’s directory or in the apps’s directory, because creating the same templates directory and same base.html for every project is not DRY?"There’s nothing wrong with that. Even the djangoproject.com website does it: http://code.djangoproject.com/browser/djangoproject.com/djan…

    This comment was originally posted on Hacker News

    neelesh

    "Why serving static files in development has to be a additional setup, as no developer wants to setup a server for serving static files, I am aware of ‘django.static.serve’ but still that is an additional setup, why not create a sample media directory and a url for the same in urls.py" – Because typical deployments don’t use django for serving static files?

    This comment was originally posted on Hacker News

    nailer

    For me the hardest thing about Django was comprehending that the ‘View’ doing most of the work.* urls point to views

    * views do stuff, perhaps involving models

    * the view passes a dict to the template, which is sent as a response to the browser.

    Once you get that, it’s not so hard.

    This comment was originally posted on Hacker News

    nailer

    For me the hardest thing about Django was comprehending that the ‘View’ is doing most of the work.* urls point to views

    * views do stuff. Perhaps hard, manly stuff. Perhaps involving models. Django views have hard, beefy beceps. They’re awfully controlling.

    * the view passes a dict of results to the template, which is sent as a response to the browser.

    Once you get that, it’s not so hard.

    This comment was originally posted on Hacker News

    scorpion032

    Hence, it is defined as MTV.

    This comment was originally posted on Hacker News

    dartdog

    Nice find>> RT@marcelor: RT@uswaretech: Django for a Rails Developer http://uswaretech.com/blog/2009/11/django-for-a-rails-developer/

    This comment was originally posted on Twitter

    shabda

    however typical developments do, and this question is about typical development setup

    This comment was originally posted on Hacker News

    tzangms

    “Django for a Rails Developer — The Usware Blog – Django Web Development” ( http://bit.ly/8e8EMd ) # is there Rails for django developer?

    This comment was originally posted on Twitter

    uggedal

    No one goes from Django to Rails…

    This comment was originally posted on Hacker News

    jperkins

    Django for Rails devs http://j.mp/7v7Tvh

    This comment was originally posted on Twitter

    icey

    Hmmm…. I do Django stuff but I’m working on my first Rails project right now. A Django -> Rails guide would be useful to me.

    This comment was originally posted on Hacker News

    FraaJad

    I am far far away from being considered a designer and I consider the Django documentation to be excellent for programmers. Just because it also caters to designers, the documentation is not necessarily watered down.

    This comment was originally posted on Hacker News

    neelesh

    Agree. What we probably need is a nice way to switch between deployment/development setups, possibly by splitting settings.py like rails

    This comment was originally posted on Hacker News

    jeremyhamel

    Django for a Rails Developer – http://uswaretech.com/blog/2009/11/django-for-a-rails-developer/

    This comment was originally posted on Twitter

    buck__mulligan

    Django for a Rails Developer — The Usware Blog – Django Web Development http://bit.ly/61vFTe

    This comment was originally posted on Twitter

    tvon

    I work with Django for a living but the lack of init/buildout in a new project has always driven me a bit nuts, I guess it’s one of my development pet-peeves.I’ve never had project that didn’t need:

    - a project-wide templates/ directory- media/[css|img|js] directories- some kind of database setup by default- contrib.admin (well, I created a form mailer once that had no admin)

    Django seems to take a "we don’t want to force you to use any particular setup" stance, but the result seems to be to force you to make a bunch of relatively meaningless decisions before you can start writing code. (they could have other reasons, I haven’t looked into it lately)

    These days I have a script that does all this, and I know others have written similar scripts as well. It just strikes me as being a gaping hole on the Django development model… IMO anyway.

    This comment was originally posted on Hacker News

    suvike

    the usual trick is to use a local_settings.py.put all of your environment-specific variables in there, and put ‘from local_settings.py import *’ at the end of your settings.py

    This comment was originally posted on Hacker News

    webstartupgroup

    StartupNews: Django for a Rails Developer http://bit.ly/6ZJENQ

    This comment was originally posted on Twitter

    newsbird911

    Django for a Rails Developer — The Usware Blog – Django Web Development http://bit.ly/4UmIEh

    This comment was originally posted on Twitter

    carbon8

    I went from django to rails and ruby. I still use python a lot and contribute a little to python open source projects, but I prefer ruby and the ruby frameworks for web development. On top of that, the widespread attitude in the django community that’s the source of comments like yours ensures that I will absolutely never go near django again.

    This comment was originally posted on Hacker News

    carbon8

    I went from django to rails and ruby. I still use python a lot and contribute a little to python open source projects, but I prefer ruby and the ruby frameworks for web development. On top of that, the widespread attitude in the django community that you’re demonstrating ensures that I will absolutely never go near django again.

    This comment was originally posted on Hacker News

    roam

    You’re right that it would be easier if some things were set to a reasonable default.But if you want it right now: create a custom command to do it your way and wrap it in an app that you add to the path. When you start a new project, the first thing you do is add the application to your installed apps and you can use it over and over again.

    This comment was originally posted on Hacker News

    kteague

    The question is, why use the framework to create the layout of project which happens to depend upon that framework at all? Instead, use a generic project templating tool to create the layout, then it’s easy to choose alternate starting points depending upon what you need in your project. In Python, ‘paster’ is commonly used for this. It lets you create projects that depend upon TurboGears or Zope or Plone or Grok or even plain old Python projects which don’t depend upon a full framework.

    This comment was originally posted on Hacker News

    kteague

    Also note that the default Django template is showing it’s age. I don’t think it’s ever been updated and it contains a few faux-pas to look out for. In particular, it starts you off inside a python package (__init__.py file), which is highly confusing. If you later want to treat your Django project as a normal Python project, you need to create a setup.py file. But this file would be one directory up from the project directory … which is outside of your Django project. Django puts the directory one level up on your PYTHONPATH to compensate for this, with the assumption that part of your project lives outside of version-control, etc. The solution is to remember to put the directory above the directory that the project lives in version-control and treat it as part of the project. Although then you have to put a library location on your PATH to run the manage.py commands, since this file won’t work if placed in your projects /bin directory.(Speaking of /bin directories, it’s always bugged me that Rails renamed this directory to /scripts … if it’s executable, it goes in /bin, it makes no sense to split executables based on arbitrary implementation details)

    This comment was originally posted on Hacker News

    carbon8

    I went from django to rails and ruby. I still use python a lot and contribute a little to python open source projects, but I prefer ruby and the ruby frameworks for web development. On top of that, the widespread attitude in the django community that you’re demonstrating ensures that I, for one, will absolutely never go near django again.

    This comment was originally posted on Hacker News

    so_white

    http://tinyurl.com/yf8b95b
    Django for a Rails Developer — The Usware Blog – Django Web Development

    This comment was originally posted on Twitter

    BerislavLopac

    Sometimes I wonder if they renamed the pattern just to keep up the music theme…

    This comment was originally posted on Hacker News

    ubernostrum

    And your script probably sets things up differently from everyone else’s :)But if you think it’s a problem, why not publish whatever you use and encourage others to use it as well?

    (also, FWIW I don’t have such a script — a new site at work always simply inherits default settings from other stuff, and those defaults are set up to match how our production servers work)

    This comment was originally posted on Hacker News

    ubernostrum

    Well, to be perfectly honest I almost never use the ’startproject’ or ’startapp’ commands. When I’m working on a new app I just create the directory and an __init__.py, and then start filling in specific files inside it as I need them.For stuff at work apps all go into one of a couple particular namespaces, so packaging concerns don’t come up there; for my personal stuff the package name is almost never the same as the app anyway (e.g., django-registration provides an app in a module named ‘registration’).

    Also, I’d really really like the concept of the project to die soon.

    This comment was originally posted on Hacker News

    ruby_news

    Django for a Rails Developer http://bit.ly/5KZh6o

    This comment was originally posted on Twitter

    iamwil

    The most annoying part about doing Django as a dev coming from Rails is the RequestContext that isn’t used by default, if you want to access specific contexts like settings. Then it means having to hack it using direct_to_template or writing a decorator.It’s a different philosophy, but it’s hard getting use to having to explicitly spell out everything when I just want to get going with defaults that make sense.

    This comment was originally posted on Hacker News

    artpop

    Seems like Django is more comparable to Sinatra? And is 4 spaces the python way? I like my font big and my lines short.

    This comment was originally posted on Hacker News

    AtlantaWebsite

    Django for a Rails Developer — The Usware Blog – Django Web…:  Bookmark this on Delicious – Saved by pclaerho.. http://bit.ly/4UmIEh

    This comment was originally posted on Twitter

    grameensol

    Django for a Rails Developer — The Usware Blog – Django Web Development http://bit.ly/4UmIEh

    This comment was originally posted on Twitter

    laddy

    I would also like to see this.

    This comment was originally posted on Hacker News

    nailer

    Same here – MTC would have been simpler to understand for me.

    This comment was originally posted on Hacker News

    rbanffy

    I admit. I mod up for funny.

    This comment was originally posted on Hacker News

    alexkay

    > And is 4 spaces the python way?It is, see PEP 8: http://www.python.org/dev/peps/pep-0008/

    This comment was originally posted on Hacker News

    tvon

    > And your script probably sets things up differently from everyone else’s :)I don’t doubt it. Much like how there is the occasional "this is how I handle managing multiple settings for different systems" blog post, people have come up with their own systems because Django provides none.

    > But if you think it’s a problem, why not publish whatever you use and encourage others to use it as well?

    http://github.com/tvon/django-gig

    Written for personal use, so…

    There is also "create project" or "project template", I forget the exact name, but it’s on bitbucket or github… and "paster" from zopeskel seems to have potential to do something like this but it may be too zope specific, I don’t know.

    There are ways to do it, but IMO it’s something the framework should be handling. As it stands, "basic setup and configuration" is a much higher hurdle in Django than it is in Rails.

    > (also, FWIW I don’t have such a script — a new site at work always simply inherits default settings from other stuff, and those defaults are set up to match how our production servers work)

    Well, you don’t have a script that builds things out in a certain way, but you have a system in place that handles project defaults.

    This comment was originally posted on Hacker News

    djb_hackernews

    but Google thinks its MVT.http://www.google.com/search?q=django+mvt

    http://www.google.com/search?q=django+mtv

    This comment was originally posted on Hacker News

    tastybacon

    Has anyone seen a "Rails for a Django developer" out there?

    This comment was originally posted on Reddit

    TopHackerNews

    Django for a Rails Developer http://tr.im/FTPo http://ff.im/-c4c5c

    This comment was originally posted on Twitter

    markng

    @nickhammond further to our chat the other day, http://bit.ly/855nIX seems like some useful notes.

    This comment was originally posted on Twitter

    katharnavas

    Django for a Rails Developer http://bit.ly/6DK4b2

    This comment was originally posted on Twitter

    stainless

    Django for a Rails Developer http://j.mp/70nLA9

    This comment was originally posted on Twitter

    mantaray

    Just read that blog post from bottom to top…

    This comment was originally posted on Reddit

    mahadewa

    Django for a Rails Developer http://bit.ly/4JJ0IN

    This comment was originally posted on Twitter

    stainless

    Django for a Rails Developer http://j.mp/8nye1l

    This comment was originally posted on Twitter

    hrjn_rss

    Django for a Rails Developer: Comments http://url4.eu/q5tb

    This comment was originally posted on Twitter

    minichiello

    Django for a Rails Developer: http://bit.ly/8cb1EU

    This comment was originally posted on Twitter

    AtlantaWebsite

    Django for a Rails Developer — The Usware Blog – Django Web:  Bookmark this on Delicious – Saved by xiong.chiam.. http://bit.ly/7Gcr8I

    This comment was originally posted on Twitter

    justinvincent

    Django for a Rails Developer http://bit.ly/8j0j7C

    This comment was originally posted on Twitter

    pr_entrepreneur

    Django for a Rails Developer http://bit.ly/8EzJW9 #postrank #entrepreneur

    This comment was originally posted on Twitter

    sidmitra

    Actually i would prefer it if models do most of the major work. And views to convert them into a format suitable for presentation. Sometimes that not possible, but it just feels cleaner and more manageable if it is.

    This comment was originally posted on Hacker News

    gramirezs

    Django for a Rails Developer http://icio.us/o2zko5

    This comment was originally posted on Twitter

    delicious50

    Django for a Rails Developer — The Usware Blog – Django Web Development http://bit.ly/8UKXRP django rails python webdev

    This comment was originally posted on Twitter

    fmonbillard

    #django from a #rails developer point of view: http://uswaretech.com/blog/2009/11/django-for-a-rails-developer/

    This comment was originally posted on Twitter

    zkylab

    very very good document / comparison.

    This comment was originally posted on Reddit

    frednecksec

    Nice non-pejorative rails & django comparison, feature/syntax mapping http://bit.ly/4mS1k1)

    This comment was originally posted on Twitter

    Post a comment Name :

    Email :

    Your site url:

    Comment :

    © Agiliq, 2009-2012