Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Media Programming

Django 1.0 Released 104

jgomo3 writes "Finally, the stable version 1.0 of Django (one of the most popular free Python based frameworks) has been released. Explained in the project blog, this achievement was in part due to the great users and developers community of the Django project, and recall the big effort with numbers like 4000 commits and 2000 bugs fixed since last stable version. Django is 'The Web framework for perfectionists with deadlines.' You can dive in by reading the overview."
This discussion has been archived. No new comments can be posted.

Django 1.0 Released

Comments Filter:
  • Great work (Score:5, Interesting)

    by abigor ( 540274 ) on Thursday September 04, 2008 @10:39PM (#24883655)

    Django is just a pleasure to work with. Congratulations to these guys for creating such a well thought-out and hugely productive framework. Now if only it would become more established and bulked up a bit so we could mostly ditch a certain other Enterprise Edition set of technologies...

    • by Shaitan Apistos ( 1104613 ) on Thursday September 04, 2008 @10:41PM (#24883681)
      You can have my Visual Basic when you pry it from my cold dead.... oh, wait, you mean Java? Yeah that needs to go.
      • by kiddygrinder ( 605598 ) on Thursday September 04, 2008 @10:54PM (#24883781)
        You bring up an interesting point: Would it just be easier to euthanise all the vb programmers than kill off the language?
        • While I agree with your sentiment to a certain extent, I would point out that VB is an excellent starting point for young programmers. Visual Basic was the first language I learned (at a fairly young age), and it wasn't terribly difficult to pick up, as its syntax is relatively forgiving and closer to natural language than some programming languages. I actually learned VB before I got into any algebra in mathematics, which then proved quite easy, the concept of variables being familiar. While it is effec
          • I'm not certain that I would have been nearly as enthusiastic diving into C or Java at the age of 10.

            While VB probably was a great choice 5 years ago,I think Python's getting lots of rightly deserved hype as the modern "kids" language. It's got VB's advantage of clean syntax, the bonus of having an interactive shell, and it's powerful enough that the kid can use the language for years and get a really solid foundation before having to learn another language.

            • Oh, I agree wholeheartedly, but this was 8 years ago and before I had even heard of *nix. Now I'd certainly recommend Python.
          • by Unoti ( 731964 )

            VB was an excellent starting point for young programmers

            There, I fixed it for you.

        • by pAnkRat ( 639452 )

          Should not be to hard kill all three of them.

          A language is alive as long as it is in use.
          Killing the developers would help with killing the language, but it would still take time, look at cobol for an example.

    • well, if they were smart, they'd have used Jython to run Django on the JVM. Then you get the proven enterprise stability of Java with the hot, trendy marketing flare of Python.

      I wouldn't be surprised if someone is already working on porting it over.

      • by jmce ( 10597 )
        Which kind of 'proven enterprise stability' would be provided by the additional JVM layer? Marketing flare stability?
        • Re: (Score:1, Insightful)

          by Anonymous Coward

          it's not an additional layer.
          Python already runs on a VM, Jython makes that VM the JVM, and the JVM actually is a very fast,very reliable VM.
          Much better than the standard python VM.

          • And it runs faster than just using mod_python?
            • Yes, much, much, much faster. The python vm is pretty slow. The only way to get decent performance out of it is to write modules in C instead. And it's inherently more secure (and thus stable).

              However, there is a replacement python vm in the works that has promise though, psyco. It's basically a python specific java-esque JIT capable vm.

              It will probably take a while to get anywhere near Java's level of performance.

              • Wow, you're several years behind. Psyco was just a JIT module for Python and it's dead as a doorknob, doesn't even run on x86_64. Psyco's developer is working on similar optimizations as part of work on PyPy, which *is* a modern and vibrant project.

      • Re: (Score:3, Informative)

        by Bogtha ( 906264 )

        well, if they were smart, they'd have used Jython to run Django on the JVM.

        Django already runs on Jython. [python.org]

  • by Anonymous Coward

    A Django ate my baby!

    Thank you. Thank you very much. Tip your waiter, I'll be here all week so tell your friends.

  • yay (Score:5, Informative)

    by story645 ( 1278106 ) * <story645@gmail.com> on Thursday September 04, 2008 @11:02PM (#24883851) Journal

    I just started playing with Django today, so I'm mostly just thrilled that the absolutely awesome tutorials still work. This is one of the most newbie friendly things I've ever worked with, in large part 'cause it's got awesome documentation and very clear tutorials and logically named well almost everything. (Plus it produces pretty and friendly sites.) I may not be as hyper about it once I start trying to use it for a real project, but it getting to a stable release is promising.

  • But... (Score:3, Funny)

    by PC and Sony Fanboy ( 1248258 ) on Thursday September 04, 2008 @11:06PM (#24883883) Journal
    But does it run linux? And, Imagine all the djangos in a beowulf cluster...

    awww, who am I kidding. This is slashdot, I can't sound smart without referencing wikipedia. *siiigh*

    Seriously tho, Django is so much better than some of the other options (read:java!)
    • Re: (Score:3, Interesting)

      by siDDis ( 961791 )

      Groovy for Grails http://grails.org/ [grails.org] which is based on Java/Hibernate/Spring is an excellent alternative to Django.

      It's just about choosing the right tool for the job.

      • Large memory requirements -- that's what I find my Grails apps have after deploying to my VPS (Virtual Private Server). I had to immediately upgrade plans after deployment. It left me wondering whether I made the right choice in choosing Grails to develop my apps in.

        Django is now under consideration. It's still very early and I can certainly rewrite what I have so far; I'm just doing my homework first to see if it's worth it.

        Don't get me wrong, development with Grails and Groovy is awesome, there's lots to

    • Re: (Score:3, Interesting)

      by mcvos ( 645701 )

      Seriously tho, Django is so much better than some of the other options (read:java!)

      You're now comparing a framwork with a language. For a meaningful comparison, compare Django with Wicket.

      It's not very surprising that new web frameworks are better than JSP, Struts or JSF. I want to know how they measure up to stuff like Wicket or the latest Tapestry.

  • Congrats to the contributors!

  • Django . . . (Score:4, Interesting)

    by pembo13 ( 770295 ) on Friday September 05, 2008 @12:05AM (#24884293) Homepage
    it's what you come home to after a day with .NET at work.
  • The in-factor... (Score:5, Interesting)

    by Max Romantschuk ( 132276 ) <max@romantschuk.fi> on Friday September 05, 2008 @12:11AM (#24884325) Homepage

    It's too bad everyone and their dog are excited about Ruby on Rails, when a great platform like Django is out there as well.

    I use Django on my own site, and CakePHP (a poor RoR clone) at work. While using PHP has advantages, CakePHP is really not anywhere near Django in terms of the ORM stuff and actually using your data in any complex way.

    The one really great thing about Django is that it's consistent. There is usually one way of doing things, instead of a million different ways that apply in different situations.

    Take a look at the Django tutorial:
    http://docs.djangoproject.com/en/dev/intro/tutorial01/ [djangoproject.com]

    And the Django book:
    http://www.djangobook.com/ [djangobook.com]

    I don't think you'll be sorry.

    PS. And on the whole Python indentation=block thing... It's not perfect, but only use spaces and it won't be a problem.

    • by Anonymous Coward on Friday September 05, 2008 @12:20AM (#24884373)

      And on the whole Python indentation=block thing...

      ...just give it a try. Most people who haven't written any Python think it's an awful idea. Most people who spend a few hours learning Python change their mind. It's just one of those cases where first impressions are totally wrong.

      • Pybraces got me in. I dropped it in disgust a few hours later. Seriously.

        I've found that RoR is farther along than Django, if you can stand Ruby, which I can't. Django is usable, improving, and in Python.

        Of course Python vs Ruby is more personal taste than much else it's not an objectively evil language like Java, which has been shown to rape babies and vote for Republicans.

      • I've been writing python for years, and I think the tab/space sensitivity is terrible. I stick with e3 partly because of Python (and make) having problems if tabs are substituted to spaces and vice versa. This is completely invisible to the user on all (if not most) text editors. Even worse, many text editors aren't very careful with what they do to whitespace. Also, more or less, 8 charactor tab stops are considered standard, but for programming many people like them at 3. Guess what most text editors do?

        • by gfxguy ( 98788 )

          I agree, and while I don't mind the style of indentation forced on the user (*), I resent the fact that it is, in fact, forced on the user, and very nit-picky at that.

          (*) I work with animators who sometimes try to write their own MEL scripts... they never indent and it always pisses me off. But I also hate it when people try to FORCE their style on you.

          • Yet you have no problem with being forced to use brackets?
            • by gfxguy ( 98788 )

              That's syntax of the language, it's not formatting.

              • So why is forcing you to use a certain syntax better than forcing you to use a certain formatting?
                • I'm going to make a wild guess and say it's because you can choose where to put the brackets.

                  However, more importantly, you can also wrap things to multiple lines for easier reading; to prevent the need to scroll left and right to read long commands.

                  (Note: I haven't used Python enough to know if there's some way to do line continuations in it.)

                • by gfxguy ( 98788 )

                  Every language has a syntax, otherwise you couldn't have a language.

        • I love Python. At first I found the tab/space thing kind of ambiguous, but then a fellow vim-lover got me to do this:

          cat >> ~/.vimrc
          set tabstop=3
          set shiftwidth=3
          set expandtab
          ^D

          Makes all those worries go away. :) (well, except possibly for sharing code with people who don't use the same 3-space indent standard)

          • Re: (Score:2, Informative)

            I'd recommend 4-space indents for Python, it's what the standard library uses, and what anyone who wants to use something 'standard', like any large project, will be using as well. One reason the tab/space things isn't a problem is that the language comes with a clear recommendation.
            I still use tabs for everything else, so I've added to my .vimrc:
            autocmd FileType python set et ts=4 sw=4 sts=4

      • by tclgeek ( 587784 )

        I thought it was an awful idea when I was using a different scripting language. Then I took a gig that's pretty much 100% python. A couple months in and I still have the same opinion -- it's an awful idea.

        It's not an issue -- emacs seems to take care of the problem quite nicely thankyouverymuch -- but it's still an awful idea IMO.

        Other than that, Python's not too shabby. Not as great a language design as Tcl (why hasn't the world caught up with the ease of deployment Tcl has enjoyed for years?), but it

      • Most people who haven't written any Python think it's an awful idea. Most people who spend a few hours learning Python change their mind.

        I've spent more than a few hours learning Python. I like most things about Python (though, in most areas, I like Ruby -- which I started learning later -- more than Python), except the indentation thing.

    • PS. And on the whole Python indentation=block thing... It's not perfect, but only use spaces and it won't be a problem.

      That sentence is wrong is so many ways, it's metaphysical. Saying something like this is the fastest way to get yourself killed - especially if I would be standing next to you.

      I use Python. And I use tabs. It's the only way to go. All else is evil. :-)

      • by joib ( 70841 )

        Actually, PEP-8, the official python style guide, strongly recommends spaces over tabs.

    • Re:The in-factor... (Score:5, Informative)

      by Fweeky ( 41046 ) on Friday September 05, 2008 @03:41AM (#24885441) Homepage

      It's too bad everyone and their dog are excited about Ruby on Rails, when a great platform like Django is out there as well.

      Even in the Ruby world, it's too bad Rails gets most of the attention; a lot of people would probably be better off with one of the many more lightweight frameworks there, or even no framework at all (really, your 3 page website needs an 80kLOC framework to support it?). So many people hyperfocus on one system and miss out on all the other ways of doing things; Nitro, Merb, Sanatra, Ramaze, even writing your own handlers in Rack. Given the size, complexity and overhead of these things, it'd really make more sense for people to start from the bottom (Rack) and work their way up, not the other way around.

      Python wise this probably means starting by writing your own WSGI [wikipedia.org] handlers, rather than starting with a huge framework to write Hello World in.

      on the whole Python indentation=block thing... It's not perfect, but only use spaces and it won't be a problem.

      Blegh, use tabs properly and it won't be a problem either. It's shocking how people can't even get a trivial thing like that right, though, is it really that difficult to configure your editor not to mix the two? Hint: Set your editor to highlight leading whitespace, doing tabs and spaces differently, then you'll never be surprised by either. I'll get you started:

      highlight LeadingTab ctermbg=blue guibg=blue
      highlight LeadingSpace ctermbg=darkgreen guibg=darkgreen
      highlight EvilSpace ctermbg=darkred guibg=darkred
      au Syntax * syn match LeadingTab /^\t\+/
      au Syntax * syn match LeadingSpace /^\ \+/
      au Syntax * syn match EvilSpace /[^\t]\+\zs\t\+/ " tabs not preceeded by tabs are never acceptable
      au Syntax * syn match EvilSpace /\zs\ \+$/ " trailing space is silly

      There, now you have no excuse. Well, except the first EvilSpace match broke at some point, anyone see why?

      • Re: (Score:3, Informative)

        on the whole Python indentation=block thing... It's not perfect, but only use spaces and it won't be a problem.

        Blegh, use tabs properly and it won't be a problem either. It's shocking how people can't even get a trivial thing like that right, though, is it really that difficult to configure your editor not to mix the two? Hint: Set your editor to highlight leading whitespace, doing tabs and spaces differently, then you'll never be surprised by either.

        Anyone who has ever worked in a larger organization will know that it's impossible to get people to configure their software identically, unless we're forcing every one.

        Also, a lot of people aren't that smart anyway...

        That's why I advocate spaces only: There is a single way to render a single space, so the margin for error is smaller. :)

        • by Fweeky ( 41046 )

          You still need to get people to configure their editor to expand tabs, and make indents the same size everyone else is using, etc. Fools who can't configure their editors properly will find some way to screw it up either way. And frankly, I don't want fools working on any of the code I maintain ;)

          • I agree with both. :)

            Unfortunately I've yet to find a job where I don't have to deal with fools to some degree. Nor one where I get to code python professionally either, in fact.

            But I still think it's easier to make people indent with tabs (for everything, not just Python) than implementing some more advanced whitespace handling over a bunch of different editors... :)

            • by gfxguy ( 98788 )

              Interesting point... I edit python, php, perl, etc., all in the same text editor. So I'm supposed to keep changing the configuration? In my editor, it's a global setting, not per language. So if I have a php and python tab, if I change the behavior of tabbing, I can't just go back and forth.

              Don't get me wrong, I like python a lot, it's an excellent language, but some of the artificial restrictions built in just to get you to program in a style they liked is really annoying.

              • It's not artificial. Higher code density leads to better code. They've done studies. Really.

                Oh, and get a better editor. There are plenty that have language-specific settings for formatting.

        • Anyone who has worked for a larger organization either follows standards and practices, or don't work for a large organization for long.
      • by Fweeky ( 41046 )

        au Syntax * syn match EvilSpace /[^\t]\+\zs\t\+/ " tabs not preceeded by tabs are never acceptable

        Fixed:

        au Syntax * syn match EvilSpace /\(^\t*\)\@<!\t\+/

        Still not sure why the \zs broke it. Also, the \zs in the trailing space regexp is a superfluous leftover from when those two were combined.

    • I use Django on my own site, and CakePHP (a poor RoR clone) at work. While using PHP has advantages, CakePHP is really not anywhere near Django in terms of the ORM stuff and actually using your data in any complex way.

      I did a project earlyer this year with Cake 1.2 Beta. It wasn't nice. Allthough I do like PHP for webstuff. Right now I'd say Symfony for PHP webwork and Django for Python webwork. And if you don't know either of those languages, take Python, it's more consistent and used everywhere, not just

    • by mcvos ( 645701 )

      The one really great thing about Django is that it's consistent. There is usually one way of doing things, instead of a million different ways that apply in different situations.

      This can be an advantage, but it can also be a disadvantage. One size doesn't always fit all.

      • This can be an advantage, but it can also be a disadvantage. One size doesn't always fit all.

        Very true. But doing the almost same thing in insanely different ways for almost the same use case seldom makes sense... :)

        I've seen solutions like that, and it just ends up hampering productivity.

        • by mcvos ( 645701 )

          This can be an advantage, but it can also be a disadvantage. One size doesn't always fit all.

          Very true. But doing the almost same thing in insanely different ways for almost the same use case seldom makes sense... :)

          I've seen solutions like that, and it just ends up hampering productivity.

          That is definitely true. Doing 80-90% of the use cases efficiently is often better than doing 100% slowly.

          There's a fine balance between versatility and efficiency, and you can't really make broad, generalising statements about what's best. Well, you can, but it wouldn't be very useful.

    • If you're looking for a Django alternative in php, look at Symfony.
    • by Peter Cooper ( 660482 ) on Friday September 05, 2008 @12:09PM (#24890131) Homepage Journal

      The one really great thing about Django is that it's consistent. There is usually one way of doing things, instead of a million different ways that apply in different situations.

      Consistence is good, but why it "one way of doing things" good in any sense? It's not a good thing in all scientific or artistic disciplines I can think of. There are multiple ways to heal all parts of the body and resolve medical issues, multiple ways to perform the same scientific experiments, multiple ways to build a bridge - why do you want "one way" to do something when it comes to developing software? That sounds like a code style dictatorship..

      • (Note: I am not the grandparent poster)

        Consistence is good, but why it "one way of doing things" good in any sense?

        It makes the code easier to read and follow. For an example of why multiple ways of doing things in a can be bad (in a programming context), see PHP or Perl.

      • Consistency is one of the primary factors in the maintainability of software. Maybe the biggest factor.

        I don't know how creating software has anything to do with healing bodies or building bridges.

        • I don't know how creating software has anything to do with healing bodies or building bridges.

          It's a science. Most sciences share a lot of principles - even if applied to different media. Problem solving is a common trait to all sciences.

    • Re: (Score:3, Informative)

      by Daimaou ( 97573 )

      I jumped on the Rails bandwagon for a bit, but I jumped back off after finding Django.

      I think Django has several advantages over Rails. It runs faster, is better organized, and is easier. I also like how Django limits the functionality of templates in order to force your logic into the controller, which is where it belongs.

      The only thing that bugs me about Django really is that they call the controller the view, and the view the template; which is mildly confusing at first.

  • by unity100 ( 970058 ) on Friday September 05, 2008 @12:24AM (#24884397) Homepage Journal
    excuse me, i hate to break it to you people but we programmers dont decide what goes on to being popular.

    a LOT of 'great' and truly great technologies were devised and pushed to the net, and what happened ?

    people chose what they would.

    php grown way over itself as of now. the demand for it, and the applications on it, regardless of how much you despise or belittle them, are growing boundless. phpbb, oscommerce, name your pick. especially oscommerce has grown over a cart, and kind of became an industry standard. every major provider of anything from ups, fedex to any payment provider SUPPORTS it. but call them and say 'hey i have a great cart on this and this great framework, i cant make it work with your service', and you'll learn that youre on your own.

    a lot of you, i know, are career i.t. staff. working on positions in corporations, having little touch with the 'ordinary people' out there on the net.

    this creates a sphere of isolation, and makes one mistake the trends. there is only one trend that decides everything - choice of the people. look at what php was 5 years ago, where it was, and where it is now, almost a default for shared web hosting, or small business apps for every kind of sector. its so default that, some people who are less technologically literate tend to take php as 'hosting'.

    my a few cents. early in the morning. sleepless. coherency shouldnt be expected. random thoughts.
    • by azgard ( 461476 ) on Friday September 05, 2008 @01:11AM (#24884655)

      excuse me, i hate to break it to you people but we programmers dont decide what goes on to being popular.

      I don't think so. Things are not popular for no reason. Usually, things that become popular have some obvious advantage to existing technology, and that's why people chose it. Only later it is discovered there are also disadvantages to the new technology (usually because it's not so mature in other areas), and even later, the new technology is integrated with the technologies that existed before. It's a natural cycle of progress.

      PHP is nice example. It had advantage in allowing having business logic directly in HTML pages (i.e. easy creation of dynamic pages compared to CGI), and was free. But there was a disadvantage to this approach, so the MVC model and frameworks using templates were invented. So the modern frameworks combine advantages of both technologies.

      The same could be said about Rails. They use obscure language (sorry), but the basic ideas are sound. That's why they are copied by other frameworks, which combine advantage of more well-known language with the advantages of Rails.

      • well,

        the market, the people using oscommerce, phpbb et al doesnt care about frameworks, mvc, but they care about ease, price, accessibility AND widespread support.

        its like a microsoft thing. everyone buys xp, windows. why ? because it enjoys the greatest reach, AND most importantly, it has the greatest software selection available to run on it. same goes with php now - there is EVERYthing available, for EVERY version of that field, with every option. AND with very cheap, abundantly available experts t
      • The MVC model was invented for desktop applications decades before PHP came out.
      • Re: (Score:3, Informative)

        PHP is nice example. It had advantage in allowing having business logic directly in HTML pages (i.e. easy creation of dynamic pages compared to CGI), and was free. But there was a disadvantage to this approach, so the MVC model and frameworks using templates were invented.

        Yes, the Model-View-Controller model was invented to deal with problems identified in PHP-based webapps. The amazing part of this is that MVC was first described in 1979, and PHP wasn't invented until 1995, so clearly there was considerabl

  • Django Sites (Score:3, Informative)

    by rmansuri ( 1190437 ) on Friday September 05, 2008 @03:19AM (#24885315)
    Well done to all who work hard for this !!!! Job done !! umm or i can say Job Started !! Have look at most comprehensive listing of websites that are powered by Django, the python web framework for perfectionists with deadlines.

    www.djangosites.org [djangosites.org]
  • If you like Python then try Zope/Plone instead. Both Zope and Plone are in their stable version 3 - compare it to first stable version 1 of Django.

    Zope is an open source application server specializing in content management, intranets, and custom web applications. Zope is written in Python and has a large, global community of developers and companies. http://zope.org/ [zope.org]

    It is a ready to use server that even without any programming you can start-up your web project just by uploading your documents to it. And with programming you can can achieve same power as with Django - or even more if you check how many products (ready to use components and frameworks) you can find at http://www.zope.org/Products [zope.org].

    Plone is a ready-to-run content management system that is built on Python and the Zope application server. Plone is easy, flexible, and gives you a system for web content that is ideal for projects, communities, websites and intranets. http://plone.org/ [plone.org]

    Plone opens even more ways and

Don't tell me how hard you work. Tell me how much you get done. -- James J. Ling

Working...