mirror of
https://expo.survex.com/repositories/expoweb/.git/
synced 2025-12-07 14:24:28 +00:00
rearranged to reflect current priorities, server now running 4.2 - online edit of handbook/troggle/trogdjangup.html
This commit is contained in:
@@ -9,11 +9,6 @@
|
||||
<style>body { background: #fff url(/images/style/bg-system.png) repeat-x 0 0 }</style>
|
||||
<h2 id="tophead">CUCC Expedition Handbook</h2>
|
||||
<h1>Upgrading Django for Troggle</h1>
|
||||
<h4>Why this used to be difficult</h4>
|
||||
<p>Before Django 3.0, whenever Django was upgraded to a new version things broke across the entire django package, including things which we did't conciously use but which were internal dependencies within Django. These were 'the way to do it' when troggle was first written for Django 0.7 in 2006. So upgrading troggle to a new Django version required not just a broad beadth of knowledge across troggle, but also across the entire breadth of Django itself. And the error messages are sometimes very unhelpful. This is <em>no longer the case</em> and the Django organisation has a very clear "non-breaking" policy between LTS releases.
|
||||
<p>Now read <a href="trogdjango.html">Django and Troggle</a> if you haven't already.
|
||||
|
||||
<p>Note that Django 3.2 is out of support since April 2024.
|
||||
|
||||
<h4>Django versions and update schedule</h4>
|
||||
<div align="center">
|
||||
@@ -104,6 +99,13 @@
|
||||
|
||||
</table>
|
||||
</div>
|
||||
<h4>Why this used to be difficult</h4>
|
||||
<p>Before Django 3.0, whenever Django was upgraded to a new version things broke across the entire django package, including things which we did't conciously use but which were internal dependencies within Django. These were 'the way to do it' when troggle was first written for Django 0.7 in 2006. So upgrading troggle to a new Django version required not just a broad beadth of knowledge across troggle, but also across the entire breadth of Django itself. And the error messages are sometimes very unhelpful. This is <em>no longer the case</em> and the Django organisation has a very clear "non-breaking" policy between LTS releases.
|
||||
<p>Now read <a href="trogdjango.html">Django and Troggle</a> if you haven't already.
|
||||
|
||||
<p>Note that Django 4.2 will be out of support in April 2026.
|
||||
|
||||
|
||||
<h4>Major, minor and releases</h4>
|
||||
<p>Django release 4.2.16 is major-version 4, minor-version 2, and patch-release 16. 4.2 is the "feature release" and patch releases within each
|
||||
feature release are not meant to break anything. They are just to fix bugs.
|
||||
@@ -115,16 +117,6 @@ documentation</a> which is maintained by django.
|
||||
<p>You will also need to read the django <a href="https://docs.djangoproject.com/en/3.2/howto/upgrade-version/">guide to upgrading to newer
|
||||
versions</a>.
|
||||
|
||||
<h4>Django plugins ("apps")</h4>
|
||||
<p>Documentation for the plugins is highly variable and plugin projects, being run by volunteers, can just die unexpectedly. For the django-registration plugin there are two sources of current information:<br />
|
||||
<a href="https://django-registration.readthedocs.io/en/3.1/">Docs: django-registration 3.1</a><br />
|
||||
<a href="https://pypi.org/project/django-registration/">PyPi: django-registration 3.1</a><br />
|
||||
<p>but only one of these (PyPi) gives release history data - which is what you need if you get behind with the django upgrades.
|
||||
|
||||
<p>Django plugin documentation cannot be relied upon to tell you which version of django they require. They will complain when you run them if your version of django is too old though. Some experimentation is required.
|
||||
|
||||
<p>[ However django-extensions looks like it could be useful explicitly to help us through the upgrade process:
|
||||
<a href="https://pypi.org/project/django-extensions/">pypi.org/project/django-extensions/</a> (only available for django 2.2 and later). ]
|
||||
|
||||
<h3 id="dev">Troggle software development</h3>
|
||||
<p>Upgrading the version of django used by troggle can be a serious programming job. It is not just a matter of editing a few config files. You
|
||||
@@ -248,6 +240,18 @@ Follow the instructions in the "Unit tests" section installed locally at docs/in
|
||||
This involves running <var>git clone</var> on the django source repo to download the tests. We hope we never have to do this again but in case we get incomprehensible bugs in future, we should be prepared to do so.
|
||||
|
||||
<p>Current upgrade status is documented: <a href="trogstatus.html">here</a>.
|
||||
|
||||
<h4>Django plugins ("apps")</h4>
|
||||
<p>Documentation for the plugins is highly variable and plugin projects, being run by volunteers, can just die unexpectedly. For the django-registration plugin there are two sources of current information:<br />
|
||||
<a href="https://django-registration.readthedocs.io/en/3.1/">Docs: django-registration 3.1</a><br />
|
||||
<a href="https://pypi.org/project/django-registration/">PyPi: django-registration 3.1</a><br />
|
||||
<p>but only one of these (PyPi) gives release history data - which is what you need if you get behind with the django upgrades.
|
||||
|
||||
<p>Django plugin documentation cannot be relied upon to tell you which version of django they require. They will complain when you run them if your version of django is too old though. Some experimentation is required.
|
||||
|
||||
<p>[ However django-extensions looks like it could be useful explicitly to help us through the upgrade process:
|
||||
<a href="https://pypi.org/project/django-extensions/">pypi.org/project/django-extensions/</a> (only available for django 2.2 and later). ]
|
||||
|
||||
<hr />
|
||||
|
||||
Go on to: <a href="trogarch.html">Troggle architecture</a><br />
|
||||
|
||||
Reference in New Issue
Block a user