Maison  >  Article  >  développement back-end  >  Django est-il front-end ou back-end ? Vérifiez-le!

Django est-il front-end ou back-end ? Vérifiez-le!

PHPz
PHPzoriginal
2024-01-19 08:37:211966parcourir

Django est-il front-end ou back-end ? Vérifiez-le!

Django est un framework d'application Web écrit en Python qui met l'accent sur un développement rapide et des méthodes propres. Bien que Django soit un framework Web, pour répondre à la question de savoir si Django est un front-end ou un back-end, vous devez avoir une compréhension approfondie des concepts de front-end et de back-end.

Le front-end fait référence à l'interface avec laquelle les utilisateurs interagissent directement, et le back-end fait référence au programme côté serveur. Ils interagissent avec les données via le protocole HTTP. Lorsque le front-end et le back-end sont séparés, les programmes front-end et back-end peuvent être développés indépendamment pour mettre en œuvre respectivement la logique métier et les effets d'interaction, et l'interaction des données est effectuée via des API.

Django a été développé comme un framework backend. Le flux de travail de Django peut être simplement décrit comme : l'utilisateur saisit une adresse sur le navigateur, le navigateur envoie une requête au serveur et le serveur transmet la demande à la fonction d'affichage correspondante pour traitement via le système de routage fourni par Django. utilise le modèle fourni par Django et les modèles pour générer du HTML, qui est finalement renvoyé à l'utilisateur. Par conséquent, du point de vue du workflow, Django est un framework back-end.

Mais comme Django fournit un puissant moteur de modèles, la logique front-end et back-end peut être implémentée dans la même base de code. Grâce aux modèles HTML, CSS et JavaScript, les développeurs peuvent implémenter des effets frontaux tels que la validation de formulaire et les requêtes AJAX dans Django.

Voici un exemple qui montre comment utiliser JavaScript pour la validation de formulaire dans un modèle HTML dans Django :

{% extends 'base.html' %}

{% block content %}
  <h1>Register</h1>
  <form action="{% url 'register' %}" method="POST" id="register-form">
    {% csrf_token %}
    <label for="username">Username:</label>
    <input type="text" name="username" id="username" required>
    <span id="username-error" class="error-message"></span> <!-- 错误提示信息 -->
    <br>
    <label for="password">Password:</label>
    <input type="password" name="password" id="password" required>
    <br>
    <label for="confirm_password">Confirm Password:</label>
    <input type="password" name="confirm_password" id="confirm_password" required>
    <span id="password-error" class="error-message"></span> 
    <br>
    <input type="submit" value="Register">
  </form>
  
  <script>
    const username_input = document.getElementById('username');
    const password_input = document.getElementById('password');
    const confirm_password_input = document.getElementById('confirm_password');
    const username_error_message = document.getElementById('username-error');
    const password_error_message = document.getElementById('password-error');
  
    // 当表单提交时,进行验证
    document.getElementById('register-form').addEventListener('submit', event => {
      const username = username_input.value;
      const password = password_input.value;
      const confirm_password = confirm_password_input.value;
  
      if (password !== confirm_password) {
        event.preventDefault();
        password_error_message.innerText = "Passwords do not match.";
      }
  
      // 此处省略其他验证逻辑
    });
  </script>
{% endblock %}

Dans cet exemple, nous montrons un formulaire d'inscription à l'utilisateur et avant que l'utilisateur ne soumette le formulaire, nous validons le formulaire via le contenu JavaScript. Mais comme les méthodes de vérification et les résultats sont renvoyés par le code back-end de Django, nous pouvons toujours considérer Django comme un framework back-end.

Pour résumer, Django est un framework back-end, mais grâce à ses puissantes fonctions de modèle et d'affichage, des effets front-end peuvent également être obtenus dans une certaine mesure. Bien entendu, afin d’obtenir une meilleure séparation, nous devons toujours séparer la logique front-end et back-end et interagir avec les données via l’API.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn