¿Cómo funciona Django si los navegadores solo entienden JavaScript?

Supongo que estás hablando de aplicaciones web. La aplicación web tiene generalmente tres capas de base de datos (SQL o NoSQL), lógica (marco web) y presentación (HTML, CSS, javaScript …). Django es un Framework web y es un cerebro de aplicación web. Su propósito principal es responder al navegador en forma de páginas HTML.

¿Pero de dónde viene Javascript en juego? JavaScript hace que las páginas HTML sean más interactivas y para agregar funcionalidad y ayuda a manipular el DOM (contenido en el navegador).

al navegador no le importa si el cerebro es django o frasco o express o spring (Java). El navegador solo comprende HTML y JavaScript.

Nuevamente, JavaScript puede ser de dos tipos del lado del servidor o del lado del cliente. a lo que te refieres es al lado del cliente. ExpressJS es un ejemplo de marco JavaScript (lado del servidor). Se puede comparar con Django.

JavaScript no es lo único que entiende el navegador.

También comprende HTML (y algunas otras cosas). Por ejemplo, si abre la pestaña Red en las herramientas de desarrollador de su navegador, e inspecciona todas las cosas que se descargan al navegador cuando carga Quora, verá una entrada para quora.com, que tiene un encabezado que se ve así :

Esta es la página HTML (página web) de quora.com. Su tipo de contenido es HTML como puedes ver. Este HTML hace referencia a muchos otros recursos, como JavaScript, CSS, datos JSON, imágenes, etc.

El papel de Django en la pila puede ser producir el HTML que se carga primero.

Sin tener en cuenta la inexactitud de la afirmación de que “los navegadores solo entienden JavaScript”, está comparando manzanas y naranjas.

El código Javascript es del lado del cliente. El navegador de su computadora lo ejecuta cuando visita un sitio web.

Django es un marco de Python para desarrollar aplicaciones web. El código Python es del lado del servidor. Se ejecuta en (uno de) los servidores con los que habla cuando escribe una URL o hace clic en un enlace. Framework descodifica la URL y (generalmente) genera una página web dinámica, que puede incluir código Javascript), y luego la sirve en su navegador.

A Django en sí no le importa si esas páginas contienen o no código Javascript, o si son simplemente HTML estático.

Permítanme presentar una perspectiva diferente. Está en líneas similares a lo que Ojas Kale ha descrito.

Para acceder a una aplicación web necesita un navegador. Aquí es donde tenemos Javascript y HTML / CSS.

El navegador a su vez se conecta con los servidores en el backend. Aquí es donde reside el código Python / Django, Ruby on Rails, Java / J2EE / PHP. El navegador es independiente del código en los servidores.

Los navegadores solo necesitan entender JS / HTML / CSS y eso es todo.

Django es un marco del lado del servidor, lo que significa que se ejecuta en el servidor. El servidor es responsable de procesar Python y las instrucciones relacionadas de django y luego entregar los resultados al navegador, que son archivos HTML + CSS + JavaScript, los tres pilares de la web y el único idiomas que pueden ser entendidos por los navegadores.