6 ms·
Can someone who uses Django, review this release? What are the most anticipated changes etc?
by obilgic 9y ago
Can someone who uses Django, review this release? What are the most anticipated changes etc?
- keganunderwood 9y agoNot an expert by any means but to me the biggest change is no more Python 2. > Django 2.0 supports Python 3.4, 3.5, and 3.6. We highly recommend and only officially support the latest release of each series. People should not write new code in Python 2 at all. If you're learning Python today, I'd say pretend Python 2 doesn't exist. Use python3-venv and renounce the baggage of the past.
- zmix 9y agoEasy, easy! You're walking dangerous territories here. ;)
- gt_ 9y agoDoing VFX pipeline dev here and none of the softwares support 3 yet. Houdini/3ds Max/Maya are all 2.7 only. I have not even seen mention of moving to 3.
- aaossa 9y agoWell, they still have arount 2.5 years of support (https://pythonclock.org/ https://pythonclock.org/)
- boterock 9y agoBlender supports Python 3... time to move to blender I guess =P
- ubernostrum 9y agoWhat are they planning to do when the support for Python 2 runs out and people remind them they had a decade in which to start a port but didn't?
- gt_ 9y agoI have the same question. If I remember right, it's going to happen in 2020. I don't work with a studio yet but studios who buy the software don't seem too worried for some reason, even though their pipelines depend on it. Maybe someone else can offer better insight. As someone wanting to go into pipeline development, I am very curious.
- storax 9y agohttp://www.vfxplatform.com/ http://www.vfxplatform.com/ It's planned for 2019.
- gt_ 9y agoNice! Thanks for pointing this out. This could be naive but maybe the script transition can be a hiring opportunity for those like myself... not that there are many of us.
- mixmastamyk 9y agoNot a lot of text encoding going on there so most porting should be easy.
- stefano 9y agoApp engine still only supports python 2.7 in the standard environment...
- fish_fan 9y agoApp engine is a niche environment.
- m45t3r 9y agoIt seems to support Python 3 (3.5.4): https://cloud.google.com/appengine/docs/flexible/python/runtime https://cloud.google.com/appengine/docs/flexible/python/runt... Support exists at least since August 2016: https://cloudplatform.googleblog.com/2016/08/python-3-on-Google-App-Engine-flexible-environment-now-in-beta.html?m=1 https://cloudplatform.googleblog.com/2016/08/python-3-on-Goo...
- ameliaquining 9y agoFlexible environment only. This matters because the standard environment's pricing structure is a lot better for apps that go significant periods without much traffic, or that have spiky traffic patterns that necessitate fast scaling.
- keganunderwood 9y agoWhat prevents Google from offering Python3 support in standard environment? Is this a business decision?
- ameliaquining 9y agoIt's on the roadmap and there's a public statement that it'll ship next year.
- the_duke 9y agoI haven't used Django in a few years, but the relase notes look like only minor new features. This isn't a huge change the world release which you might expect of a 2.0. The biggest one seems to be dropping Python 2.x support. This is probably the reason for the 2.0.
- ameliaquining 9y agoCorrect. Starting with this release, Django is moving towards a model where every third release is semver-major. Every eight-month minor release will have new incremental features and deprecations. Each X.0 release will drop support for everything that was deprecated two or three releases ago, and each X.2 release will be an LTS release that gets bugfixes for the next 3 years.
- adpirz 9y agoMostly minor changes, biggest developer facing changes involve dropping Python 2.x support and URL routing syntax (much more simplified, previously required a working knowledge of regex).
- Ralfp 9y agoThere's new `path()` as alternative to `url()` that allows one to use easier to remember syntax for url params like `<int:id>` instead of past `(?P<year>[0-9]{4})`. But if you need it, there's still `url()` for you to use power of regex in your urls. And your shop still runs on Py2k, you'll need to move to Py3k to use Django 2.0. This also means that websockets support will not land on Django version that works for Py2k.
- switch007 9y agoHow is <int:id> identical to (?P<year>[0-9]{4})? I'm talking about the {4}. Just an error in their blog post?
- westurner 9y agoDoes it support negative long integers? EDIT: I am without actual internet or mobile tethering and an unable to `git clone https://github.com/django/django https://github.com/django/django -b stable/2.0.x` and check out this convenient new feature.
- whalesalad 9y agoSeriously? I mean you can achieve that with your own regex the old way. Surprised you’re asking the commenters here to investigate such a specific and odd use case of a convenience method.
- ubernostrum 9y agoIt's still regex under the hood, the 'int' is just syntactic sugar for "[0-9]+": https://github.com/django/django/blob/dda37675db0295baefef3750e12430cf9df4d835/django/urls/converters.py#L6 https://github.com/django/django/blob/dda37675db0295baefef37...
- westurner 9y agoThanks!
- 9y ago
- ameliaquining 9y agoI'd say the major things at the top of the release notes: - Dropped support for Python 2 - New simpler syntax for specifying URL routes (as an alternative to the traditional regex-based one, which is still supported) - The admin interface got a new responsive design that works better on mobile - The ORM now has first-class support for OVER clauses
- stuaxo 9y agoI wonder if they fixed the admin internals. When I looked (years ago), it had many sins, such as outputting markup in the the code.
- ubernostrum 9y agoYou may want to read this: https://jacobian.org/writing/so-you-want-a-new-admin/ https://jacobian.org/writing/so-you-want-a-new-admin/
- Osmose 9y agoBesides dropping 2.0, the new urlconf syntax is a small but impactful improvement to something that you end up using very often.
- kolanos 9y agoThe story here is removing Python 2.7 support. This greatly simplifies the Django codebase. In terms of new features, it's relatively light, although I can see the new path-based urls being useful for new devs or those who are regular expression adverse.
- angrygoat 9y agoI haven't tried it out yet, but I suspect dropping Python 2.7 is going to make tracebacks a whole lot clearer and easier to read. Right now, there tends to be a bunch of frames relating to `six`, which clutters things up. The new path based URLs look great - to me, the gain looks like readability more than anything (reading regexps at a glance isn't exactly easy, especially if they have named groups), and having built in type coercion for the parameters is a nice win too.
- danpalmer 9y agoI'm hoping for a speed improvement here too. Regex compilation for the URLconfs adds about a second to our startup time which in development is quite a bit.
- ProblemFactory 9y ago> In terms of new features, it's relatively light In a way that actually sounds like a good way to release things. * Release 1.11 LTS with final feature updates for people who want to stay on Python2.7, * Release 2.0 which is mostly a refactoring & internal cleanup - so for Django users on Python3 it should be a simple upgrade, and you get real life testing on it, * Start adding features once the refactoring seems stable.