formatting and URLs - online edit of handbook/troggle/trogdjangup.html [PosixPath('/home/philip/expo/expoweb/handbook/troggle/trogdjangup.html')]

This commit is contained in:
Philip Sargent 2024-12-15 23:13:14 +00:00
parent 3685f03461
commit fa8dadcce5

View File

@ -10,7 +10,7 @@
<h2 id="tophead">CUCC Expedition Handbook</h2> <h2 id="tophead">CUCC Expedition Handbook</h2>
<h1>Upgrading Django for Troggle</h1> <h1>Upgrading Django for Troggle</h1>
<h4>Why this used to be difficult</h4> <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 don't conciously use but are 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>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>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. <p>Note that Django 3.2 is out of support since April 2024.
@ -152,8 +152,8 @@ sqlite database browser software very helpful and that you will need to know git
So we went from 1.8.19 to 1.9.13 to 1.10.8 to 1.11.29 to 2.0.13 to 2.1.15 then 2.2.19 (variously patched at .20, .24, .25) and then 3.2.10 when So we went from 1.8.19 to 1.9.13 to 1.10.8 to 1.11.29 to 2.0.13 to 2.1.15 then 2.2.19 (variously patched at .20, .24, .25) and then 3.2.10 when
we upgraded debian 10 (buster) to 11 (bullseye). we upgraded debian 10 (buster) to 11 (bullseye).
<li>Use the django 'check' maintenance system at the most verbose setting at each release<br /> <li>Use the django 'check' maintenance system at the most verbose setting at each release<br />
<var>troggle$ python manage.py check -v 3 --deploy</var><br> <var><font color=fuchsia>troggle$</font> python manage.py check -v 3 --deploy</var><br>
<var>troggle$ python -Wall manage.py check</var><br> <var><font color=fuchsia>troggle$</font> python -Wall manage.py check</var><br>
<li>Use our test suite (and if you see errors, run it with <var>-v 3</var>)<br /> <li>Use our test suite (and if you see errors, run it with <var>-v 3</var>)<br />
<var>troggle$ python manage.py test [-v 3] [--parallel auto]</var><br> <var>troggle$ python manage.py test [-v 3] [--parallel auto]</var><br>
The --parallel option runs the tests in parallel on your machine which is much faster. The --parallel option runs the tests in parallel on your machine which is much faster.
@ -197,7 +197,7 @@ release note. <a href="https://docs.djangoproject.com/en/4.2/releases/4.2/">From
<li>Copy <var>server.toml</var> on top of <var>pyprojectr.toml</var> and synchronise the environment: <var>uv sync</var>. <li>Copy <var>server.toml</var> on top of <var>pyprojectr.toml</var> and synchronise the environment: <var>uv sync</var>.
<li>check the versions of plugins using <var>uv tree</var> <li>check the versions of plugins using <var>uv tree</var>
<pre><code>(troggle) philip@Mohawk:~/expo/troggle$ uv tree --all-groups <pre><code><font color=fuchsia>(troggle) philip@Mohawk:~/expo/troggle$</font> uv tree --all-groups
Resolved 11 packages in 0.54ms Resolved 11 packages in 0.54ms
troggle-server v2024.12.1 troggle-server v2024.12.1
├── beautifulsoup4 v4.11.2 (group: server) ├── beautifulsoup4 v4.11.2 (group: server)
@ -247,15 +247,22 @@ Django just didn't support it because they couldn't spare the effort to test it.
Follow the instructions in the "Unit tests" section installed locally at docs/internals/contributing/writing-code/unit-tests.txt, published online at <a href="https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests">docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/</a> Follow the instructions in the "Unit tests" section installed locally at docs/internals/contributing/writing-code/unit-tests.txt, published online at <a href="https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests">docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/</a>
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. 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>.
<hr /> <hr />
<p>Current upgrade status is documented: <a href="trogstatus.html">here</a>.
<p>
Go on to: <a href="trogarch.html">Troggle architecture</a><br /> Go on to: <a href="trogarch.html">Troggle architecture</a><br />
Return to: <a href="trogdjango.html">Django and Troggle</a><br /> Return to: <a href="trogdjango.html">Django and Troggle</a><br />
Return to: <a href="trogintro.html">Troggle intro</a><br /> Return to: <a href="trogintro.html">Troggle intro</a><br />
Troggle index: <!-- absolute addressing so that this fragment can be copied eveywhere and still work -->
<a href="trogindex.html">Index of all troggle documents</a><br />
Return to: <a href="/handbook/troggle/trognotes.html">Troggle programmers' guide</a><br />
Go to: &#9874; <a href="/handbook/troggle/troglaptop.html">Troggle development laptop</a>
&#9775; <a href="/handbook/computing/wsllaptop.html">Troggle development WSL laptop</a><br />
<br />
Troggle index:
<a href="/handbook/troggle/trogindex.html">Index of all troggle documents</a><br />
<hr /></body> <hr /></body>
</html> </html>