Question Comment Python fonctionne-t-il avec HTML par rapport à PHP?


Je pense à passer de PHP à Python pour les applications Web, mais je me demandais si Python était aussi performant que le PHP dans le HTML. Essentiellement, je trouve cela très facile / intuitif à utiliser <? and ?> pour mettre PHP là où je veux, et puis je suis libre d'organiser / organiser mon HTML comme je veux. Est-ce aussi facile de faire cela avec Python? Fondamentalement, la question est: travailler avec HTML avec Python est-il similaire à travailler avec HTML avec PHP en termes de facilité d'utilisation?

Modifier: Je suppose que pour aider à dissiper une partie de la confusion dans les commentaires ci-dessous, j'ai l'intuition que PHP serait mieux que Python pour organiser la partie présentation du site Web, tandis que Python excellerait dans la partie back-end ( la programmation proprement dite ...). La question est: est-ce que je me trompe et est-ce que Python est aussi bien que PHP pour le front-end?

Modifier mon édition: Ah, je commence à comprendre l'erreur de mes manières; il semble que j'ai inconsciemment pris quelques mauvaises habitudes. J'ai toujours pensé qu'il était correct (lire: standard), par exemple, de faire en PHP en pseudo-code:

If user has filled out form:
    print this html
else:
    print this html

Quand en fait je devrais utiliser un template HTML, avec le PHP en sep. fichier. Et dans ce scénario, PHP et Python sont sur un terrain de combat égal et cela correspond probablement aux goûts de mon propre langage de programmation.


11
2017-08-21 13:00


origine


Réponses:


Vous ne pouvez pas facilement comparer PHP et Python.

PHP est un framework de traitement Web spécifiquement conçu comme un plug-in Apache. Il inclut la gestion du protocole HTTP ainsi qu'un langage de programmation.

Python est "juste" un langage de programmation. Il existe de nombreux frameworks web Python pour connecter Python à Apache. Il y a mod_wsgi, CGI, ainsi que des cadres d’applications Web plus ou moins sophistiqués.

L '"utilisation de PHP où je veux" n'est pas vraiment un moyen approprié de juger Python comme un langage pour construire des applications Web.

Un framework (comme Pylônes, Django, TurboGears, etc.) sépare la présentation (modèles HTML) de la programmation de l’accès à la base de données. PHP mélange les trois aspects d'une application Web en une seule chose: le langage PHP.

Si vous voulez passer de PHP à Python, vous devez procéder comme suit.

  1. Commencez sans aucune idée préconçue, sans parti pris, rien.

  2. Commencez avec un tutoriel sur le framework que vous avez choisi. Faites tout le tutoriel sans comparer tout ce que vous faites à PHP.

  3. Commencez à résoudre votre problème avec le framework que vous avez choisi. Construisez le tout sans comparer tout ce que vous faites à PHP.

Une fois que vous avez construit quelque chose en utilisant un framework Web basé sur Python - sans rien comparer à PHP - vous pouvez revenir en arrière et comparer les deux choses.

Des gens qui posent des questions comme Python - substr, java et python équivalent de forp de php ($ array comme $ key => $ value), Qu'est-ce que python équivalent à PHP $ _SERVER?tentent parfois de mapper leurs connaissances en PHP avec Python. Ne fais pas ça.

La seule façon de commencer à utiliser un framework Web Python est de démarrer complètement.


modifier

Tous les frameworks web Python ont des fonctionnalités de "logique de présentation" dans leurs moteurs de template. C'est une "pente glissante" où vous pouvez facilement transformer un simple modèle en gâchis. Clairement, un simple {% if %} et {% for %} construct est utile pour simplifier les éléments conditionnels et répétitifs d'un modèle HTML.

Au-delà de cela, il commence à devenir obscur combien de pouvoir devrait être mis dans le langage des balises.

À un extrême, nous avons PHP / JSP et les technologies connexes où le moteur de template peut (et souvent fait) tout faire. Cela se transforme en désordre. Est le milieu sont Jinja et Mako où le moteur de template peut faire beaucoup. À l'autre extrémité, Django, où le moteur de gabarit fait le moins possible pour éviter de mêler la logique de présentation et de traitement.


24
2017-08-21 13:34



Bien. Tout d'abord, vous devez savoir que mélanger le code avec la présentation est considéré comme une mauvaise pratique. Bien que vous puissiez utiliser des moteurs de template qui vous permettent de mélanger n'importe quel code Python dans le HTML, comme MakoEn général, les bibliothèques Web et les frameworks python ont tendance à privilégier la logique d’écriture sur un fichier de script python et un modèle HTML distinct pour afficher les résultats.

Cela dit, Python est beaucoup plus facile que PHP.

Mais vous ne pouvez être productif qu'en python Si vous êtes prêt à apprendre sa façon de programmer.

Si vous voulez PHP, rien n'est plus PHP que PHP lui-même, et Python adopte des approches différentes.

Cependant, si vous recherchez une nouvelle façon de faire les choses, python est pour vous.

Après avoir lu le tutoriel de base en python, essayez un framework web python comme pylônes et voyez par vous-même.


2
2017-08-21 13:07



Si vous deviez passer à un framework Web MVC, vous constateriez que PHP et Python utilisent le HTML de la même manière.

Le travail autour de la demande est effectué dans les contrôleurs, en utilisant le modèle pour saisir les données. Les résultats sont ensuite publiés dans une vue, qui est en fait un modèle de code HTML.

Vous pouvez avoir un fichier HTML bien présenté comme une vue et votre contrôleur va simplement lui dire avec quoi se remplir.

En PHP, cela se fait souvent avec le syntaxe PHP alternative.


2
2017-08-21 13:20



Tout d’abord: s’échapper dans un langage de programmation à partir de HTML est une bonne chose quand on fait de petits hacks. Pour une application Web de production, je ne le ferais jamais.

Mélanger en HTML dans le langage de programmation est peu pratique. Il est préférable d'utiliser une sorte de langage de template. L'indentation n'est pas un problème en Python plus que tout autre langage.

Mais, pour répondre à votre question, c'est la même chose. Il existe des langages de modélisation Python qui vous permettent également de vous échapper en Python, si vous le souhaitez. Je recommanderais plutôt que vous ne le fassiez pas, mais vous le pouvez.


1
2017-08-21 13:19



Oui, PHP est facile à utiliser de cette manière. Mais ce n'est pas la manière recommandée! Il vaut mieux utiliser des modèles. En fait, vous pouvez utiliser la même chose avec PHP.


0
2017-08-21 13:19