

Django 1.6 beta 1 released - Lightning
https://www.djangoproject.com/weblog/2013/jun/28/django-16-beta-1-released/

======
pvnick
I'm currently working with Django for a client's project I'm developing.
Coming off a LAMP stack binge, the technology itself has been an absolute
delight. I've been given the directive to use South to manage the data model,
but for future projects I was hoping somebody with more experience can give
some insights as to what you've found works and what doesn't work. I'm not the
biggest fan of South, but maybe it's just a lack of experience/patience.

~~~
danielsamuels
Unfortunately that's the best we have right now. However, the guy who wrote
South (and is a core Django developer) ran a Kickstarter last month to raise
funds to write South-like functionality directly into the Django core.

~~~
maspwr
He (Andrew Godwin) also recently gave a talk on the subject,
([http://lanyrd.com/2013/djangocon-
europe/schgcz/](http://lanyrd.com/2013/djangocon-europe/schgcz/)).

~~~
zalew
any idea when his talk will be published (youtube/pyvideo)?

~~~
zsiciarz
It's on youtube.
[http://www.youtube.com/watch?v=mCNh2TVQ2o0](http://www.youtube.com/watch?v=mCNh2TVQ2o0)

~~~
zalew
ah, missed that, thanks.

------
acjohnson55
I really enjoy working with Django, but in many ways, it seems to be staying
pretty vanilla while other technologies head in more experimental directions.
Does Django have a bright future in a world that's moving heavily client side,
or will it be relegated to a relatively bland corner of the web world?

~~~
gtaylor
We've got a more complex application (Pathwright) running Django, and we're
currently going much more heavy client side. Nothing about Django keeps you
from doing this, and there are some excellent third party apps that actually
make it very easy (django-rest-framework is awesome).

> Django have a bright future in a world that's moving heavily client side, or
> will it be relegated to a relatively bland corner of the web world?

This is one of those questions seeking controversy where there is none. Django
seems to get out of the way even more when you shift to a heavier client.

~~~
zalew
he's probably referring to the ever-recurring topic of django not integrating
front-end libs out of the box (which I in particular support).

~~~
jonknee
I support that too, but I think Django should provide some default API
endpoint support (like Django Rest Framework).

~~~
gtaylor
I'd be pretty miffed if they did this. You need only look at the comments
contrib to see an example of something that was OK'ish when it was
incorporated, but has languished since then. Now I question the need to even
have it in contrib.

We don't _have_ to bake components in for them to be excellent. rest-framework
in particular moves ridiculously fast, and being separate from Django lets
them do that. Also, if in the future something even better comes out, I can
easily switch to it.

~~~
spookylukey
The 'comments' app has now been deprecated and will be finally removed from
contrib in 1.8

~~~
gtaylor
Good catch, I had no idea. Glad to see this!

------
adamauckland
> Does Django have a bright future in a world that's moving heavily client
> side

Where are you getting the data for the client from? Django-Rest-Framework is a
very convenient way to get data down into the browser layer from a DB.

~~~
euroclydon
I think this is an area where ASP.NET MVC excels because, while REST is nice,
you also have to consider web sockets, and I have not seen good web socket
support in Django, where ASP.NET has SignalR which is loads easier to
configure than a custom solution with Django and Nginx/Apache. Not to mention
that SignalR has very nice degradation support on both ends when web sockets
are not available.

~~~
bad_user
Well, if you're talking about alternatives that do asynchronism, Comet and Web
Sockets well, the most convenient framework I ever used is Play 2.1

The framework is said to be _reactive_ , meaning that you can build components
that react to events asynchronously. The architecture is completely awesome,
as Akka actors are baked in and the protocols are modelled with Futures and
Iteratees, an FP concept for sane I/O. Things like serving unending streams of
data and responding to client events using async I/O are in the very
foundations of the framework, instead of being taked on later. People using
Node.js or Tornado or whatever, don't know what they are missing.

See their docs on the subject:

\- for Scala:
[http://www.playframework.com/documentation/2.1.1/ScalaAsync](http://www.playframework.com/documentation/2.1.1/ScalaAsync)

\- for Java:
[http://www.playframework.com/documentation/2.1.1/JavaAsync](http://www.playframework.com/documentation/2.1.1/JavaAsync)

~~~
euroclydon
I've heard it's revolutionary! How do you host Play in production?

~~~
bad_user
We are using Amazon's EC2 for a huge-traffic web service (because ELB with
auto-scalling has been working great for us) and Heroku for auxiliary
services.

Deployment to Heroku works out of the box btw.

~~~
euroclydon
I mean, which web server? What is the built-in start/stage server built on?
Can you place it behind Nginx?

~~~
playing_colours
The built-in server is Netty, a non-blocking one, and you can deploy your Play
webapp as a stand-alone server, or use Nginx, Apache etc.
[http://www.playframework.com/documentation/2.1.1/HTTPServer](http://www.playframework.com/documentation/2.1.1/HTTPServer)

------
famousactress
I'm thrilled about this particular release, because it includes a significant
overhaul of the way joins are built (or rather, trimmed) in the ORM and almost
certainly makes your project faster if you do even relatively complex queries:

The original bug:
[https://code.djangoproject.com/ticket/10790](https://code.djangoproject.com/ticket/10790)

Got even worse in 1.4
[https://code.djangoproject.com/ticket/18785](https://code.djangoproject.com/ticket/18785)

Thanks Anssi!

------
caioariede
Pillow is now the preferred image manipulation library to use with Django.

Nice!

------
StavrosK
I saw this earlier and am absolutely ecstatic over the new template
functionality. I can't tell you how many times I've cloned old projects to
start new ones, a process which isn't very fun (due to the amount of stuff one
needs to change).

I started this right away: [http://www.stavros.io/posts/django-template-
projects/](http://www.stavros.io/posts/django-template-projects/)

I'll post various templates there, for example a default one containing all
the "best practices" that I use (and structured that way), one that includes
Persona by default (so you can just click the "Log in with Persona button" and
log in), etc.

I love this feature.

------
fotcorn
Integrated connection pooling makes this release a no-brainer upgrade on
release day.

~~~
ubernostrum
It's not connection pooling.

~~~
rattray
Care to explain what it is?

~~~
ubernostrum
Currently, Django closes the database connection at the end of each
request/response cycle.

In 1.6, Django will optionally not do this; instead, a setting can specify the
maximum amount of time to hold open and keep reusing an existing connection.

This is not connection pooling; that would imply some functionality to
actively maintain and allocate connections. This is simply "your process will
hold its connection open from one request/response cycle to the next".

~~~
pajju
Thanks for the detailed answer.

In what scenario can this be used?

~~~
mik3y
Think of it as an optimization: Previously, each request meant a new db
connection had to be opened. Now a prior connection can be reused.

------
mixmastamyk
Persistent database connections :). Glad to see the objections finally fall by
the wayside.

Still no update for the homely admin app? Would love to have it use bootstrap
(or similar) to offload look and feel to those focused on it. One extra thing
to do in every Django app is to change the ugly yellow on cyan title bar. I
know it is already possible with apps, but then it means one more thing to fix
on upgrade.

~~~
Nagyman
FWIW, admin2 is under active development and moving forward. I don't know if
the intention is to replace the existing admin, but as it's not backwards
compatible there will be some effort to upgrade if you've completed any
serious customization.

[https://github.com/twoscoops/django-
admin2](https://github.com/twoscoops/django-admin2)

~~~
gtaylor
I wish the admin started as an external project and stayed that way (for the
sake of getting some love and attention). But of course, then we wouldn't be
able to show shiny tutorial videos and people wouldn't get it automagically.

Watching this with interest.

------
wiremine
This can't be right: 1.5 was just released in February. It takes at least 1
year between Django releases, right? Right!?

(He said, sarcastically.)

Seriously, it is GREAT to see the framework continue to roll forward.

~~~
mixmastamyk
There's probably a lot of stuff that didn't make the 1.5 cut.

~~~
zalew
1.5 was the first release after moving to git - they freeze the release branch
and let the rest of development continue on master, so now releases will tend
to be quicker (we all hope) hence the surprise with 'early' 1.6. now, since we
have an alpha, 1.6 is bugfixed on branch, and 1.7 features can be developped
on master _like now_ during the 1.6 release schedule.

------
fvox13
Is there an easy way to tell which bugs have been fixed as a part of this
release?

~~~
nopal
[http://storify.com/bretwalker/django-1-6-beta-
fixes](http://storify.com/bretwalker/django-1-6-beta-fixes)

~~~
fvox13
Heh. Never would have figured out that Trac query.

Thanks!

------
aerolite
Christ, Django is changing too fast. I recently upgraded from 1.2 to 1.3 and
it's still way obsolete.

~~~
powersurge360
Django 1.3 was released back in March of 2011. That's more than two years ago!
Were you waiting on some sort of third party package or something?

~~~
tomovo
I recently updated an older project from 1.2 to 1.5 and it was quite a bit of
work.

------
ninetenel
I'm so excited about this .. my team just started using django on our current
project after our flask experiments fall on their face

