add link to Reverse resolution of URLs - online edit of handbook/troggle/trogdjango.html

This commit is contained in:
2025-02-21 17:16:50 +00:00
committed by Expo on server
parent 7db639aa2b
commit ab10ab1ec4

View File

@@ -51,16 +51,18 @@ plugin if it is really, really necessary and we have removed as many as we could
we discovered that we weren't really using it and could work around it, so we are not planning on reinstalling staticfiles.
<h4 id="4layer">Why we still use django</h4>
<p>Well we <a href="trog2030.html">might not use django indefinitely</a>, but unlike many frameworks the necessary functions are separately
replaceable. So this gives us an evolution path. We can incrementally reduce the amount of django we use, replacing it with our own simpler
python that does only what we need.
<p>The separate functions within the framework form a "stack". These functions exist in all web application frameworks but in Django they are <a
href="https://docs.djangoproject.com/en/dev/misc/design-philosophies/">loosely coupled</a>.
<p id="stack"><b>The stack is:</b>
<ol>
<li>SQL database: <a href="https://docs.djangoproject.com/en/dev/topics/db/">mapping</a> to/from python objects and indexing/access routines for all the entries (sqlite, MySQL, MariaDB, postgres all work). This is where the multi-user synchronisation happens too.
<li>request/response (<a href="https://docs.djangoproject.com/en/dev/ref/request-response/">http GET/POST</a>) including <a href="https://docs.djangoproject.com/en/dev/topics/auth/default/#auth-web-requests">access control</a> and <a href="https://www.moesif.com/blog/engineering/middleware/What-Is-HTTP-Middleware/">security middleware</a>. We could never keep up with web security if we didn't use a well-supported system for this.
<li><a href="https://docs.djangoproject.com/en/dev/topics/http/urls/">URL mapping/dispatch</a> which matches a requested URL with a chunk of python code, and vice versa (declarative and bidrectional). "Cool URIs don't change."
<li><a href="https://docs.djangoproject.com/en/dev/topics/http/urls/">URL mapping/dispatch</a> which matches a requested URL with a chunk of python code, and vice versa (declarative and <a href="https://docs.djangoproject.com/en/5.1/topics/http/urls/#reverse-resolution-of-urls">bidrectional</a>). "Cool URIs don't change."
<li><a href="https://docs.djangoproject.com/en/dev/topics/templates/">templates</a> which format the results of data queries into HTML pages or JSON data exports. [2025 article on <a href="https://blog.jetbrains.com/pycharm/2025/02/the-ultimate-guide-to-django-templates/">Django templates</a>]
</ol>