Apprentissage approfondi et sécurité pratiques basés sur le Web par l'exemple

Par Daisy
Apprentissage et sécurité en profondeur basée sur le Web par exemple Troisième édition Charlotte Harper 3 juillet 2024 Avant-propos: Les considérations de sécurité dans la création de logiciels pour le Web sont une partie importante du plan et de l'exécution de tout développeur Web tout en gérant un prototype fiable, stable et utile à des fins pratiques. Le DOM (document d'objet de document), avec son implémentation de HTML, JavaScript et CSS ainsi que des logiciels backend implémentant Python, C / C ++, Java et Bash, donnent aux développeurs Web la liberté et le pouvoir de créer une grande variété de projets qui expriment Créativité, offrez une facilité d'utilisation et des fonctionnalités, représenter l'humilité et le caractère, et assurez-vous une facilité d'utilisation ainsi que la commodité et les services importants qui sont tous attrayants pour le Joe moyen, l'utilisateur final qui cherche à tuer Il est temps ou faire quelque chose sur Internet, généralement sur un périphérique pour smartphone à écran tactile. La plupart des gens ne savaient même pas par où commencer lorsqu'ils veulent créer un site Web à partir deScratch, ils auraient tendance à commencer sur le site Web d'une autre personne et à construire quelque chose de limité dans les fonctionnalités, la fiabilité, la facilité d'utilisation et surtout la créativité alors qu'ils auraient pu avoir tous les derniers outils puissants à leur disposition afin de créer quelque chose d'utile sans perdre de temps à appuyer sur les boutons , et surtout gaspiller de l'argent en payant des abonnements coûteux aux logiciels que peu de personnes voulaient utiliser de toute façon étant donné ses limites de facilité d'utilisation et de flexibilité. Si vous avez quelques minutes pour lire ce livre et apprendre ce que je veux vous apprendre, ou même me parler personnellement de vos objectifs et obtenir des conseils dans la bonne direction, et que vous êtes motivé à apprendre à coder et à écrire votre propre logiciel , ramenez ce livre à la maison et réservez un peu de temps pour apprendre à créer l'application Web influente, puissante, rationalisée et importante, un site Web qui est sur vous et qui fait exactement ce que vous voulez et répond aux besoins de votre public. Sur moi: Je suis un développeur de logiciels avecgamme d'expérience en C / C ++, Java, Python, HTML, CSS et JavaScript. Je construis des sites Web que les gens souhaitent utiliser, veulent visiter, et même devenir accro à utiliser juste pour apprendre, recréer et tuer du temps, et surtout, je vends un logiciel. Si vous aviez une idée exactement de la façon dont vous vouliez qu'un site Web ressemble et fonctionne, vous étiez prêt à me soutenir afin que je puisse répondre à mes propres besoins pendant que je rencontre le vôtre, et vous êtes prêt à couvrir les coûts de la gestion d'un site Web vous-même, Je vous créerais le prochain YouTube, Tiktok, Twitter, Google ou même une application de sécurité de haute technologie à laquelle vous pouvez accéder. Au lieu d'essayer de vous vendre mon temps, j'essaie d'acheter le vôtre: je veux vous parler de créer une application (site Web) vous-même avec les informations qui existent déjà et vous apprendre ce dont vous avez besoin pour être un développeur de logiciels indépendants, Entrepreneur, menant une carrière réussie dans le domaine que vous désirez. Et laissez-moi être clair, l'éducation que je vous donne sera informelle. Vous pourriez aller à l'école et apprendre tout cela avec unL'éducation formelle, ou même lire ce livre à l'école, terminer vos tâches et retirer beaucoup de votre éducation, mais je ne vous mettrai pas officiellement sur la sellette et vous demanderai de terminer les missions. Je ne suis pas votre professeur, vous pouvez penser à moi comme un ami qui veut vous guider vers une carrière axée sur votre propre succès personnel. Et je ne vends pas non plus de succès, vous devrez l'acheter avec votre temps. L'apprentissage du code a une courbe d'apprentissage abrupte et n'a jamais été facile, ni même censé l'être. Vous devez travailler aussi dur que possible et continuer à essayer d'échouer et de réessayer même lorsque vous êtes frustré pour apprendre et créer vous-même des applications. C'est dans la nature du code lui-même. Le code est exécuté par un compilateur conçu pour donner des messages d'erreur du programmeur, et ceux-ci vous apprendront comment coder, même si vous copiez simplement l'erreur dans votre moteur de recherche et lisez les exemples des autres. Et je dois dire que vous n'avez pas besoin d'être extrêmement riche, intelligent,Essentif, ou même orienté vers le détail ou organisé pour créer une application. L'ordinateur s'occupe de cette organisation pour vous. Il vous suffit de persévérer à travers les essais et les erreurs, de maintenir la concentration et de travailler dur dans ce que vous faites, et vous aurez une carrière très réussie dans l'intégralité de ce que vous faites. Qui suis-je: Je me rends compte que la dernière section concernait davantage l'apprentissage et que vous prenez un chemin de ce livre. Qui suis-je exactement? C'est une question compliquée. Je ne suis pas clair à ce sujet moi-même, car je souffre de conditions médicales qui peuvent me rendre difficile de coder ou d'écrire ce livre parfois, tout en présentant des défis avec des problèmes de socialisation et d'identité qui me rendent la vie plus difficile lorsqu'il s'agit de me présenter . En bref, si vous lisez ce livre, vous l'avez ramené à la maison parce que vous l'avez traversé et que vous pensiez que c'était utile, ou même si vous lisez aussi loin, je suis une personne partante qui veut vous voir réussir dans tout ce que vous faites. Je suis moi-même ingénieur,développeur et étudiant, et j'écris ce livre pour d'autres étudiants qui veulent leur faciliter la vie en ayant un manuel du logiciel dont ils ont besoin pour faciliter leur vie en donnant des exemples pour copier qui s'adapte comme un grand puzzle dans un travail , Utile, grand, fonctionnel, cohérent et engageant l'application qui peut stimuler le succès, peu importe le secteur des affaires. En grande partie, c'est ce que je fais: je crée des applications pour aider moi-même et les autres à réussir. Je suis aussi un auteur, bien que ce soit ma première publication que j'ai l'intention de terminer afin de réunir mon portefeuille dans un document utile, et je suis également un artiste. Je vais vous admettre, je suis en quelque sorte une personne étrange. Je ne suis pas parfait, j'avais dirigé des Ins avec la loi me conduisant même à quitter les collèges et les universités et quitter les États afin d'essayer de me faire un nom avec plus de succès. Je suis une femme de naissance, je porte du maquillage, je prends des photos de moi-même, je porte des robes et d'autres vêtements pour femmes, et je reste conscient de moi en tant queFemme par nature. J'ai eu des problèmes avec d'autres personnes dans le passé qui ont conduit à des difficultés avec l'écriture et la création de Webapps, et je m'excuse de ne pas avoir pu obtenir ce livre entre vos mains plus tôt: vous en aviez besoin. Vous voudrez lire et écrire du code qui ressemble à la mienne et fonctionne comme le mien et fait la même chose mais encore mieux, car si vous pouvez vous permettre d'acheter ce livre au lieu d'écraser votre clavier comme je le fais juste pour créer un livre vous-même en demandant de l'argent Pour cela, vous avez les ressources dont vous avez besoin pour réussir dans votre vie. J'ai eu toutes sortes de problèmes avec la croissance de la famille, les problèmes de santé, les médecins, les médias et la loi, et mon code reflète profondément la lutte qui est le féminisme et la nature féminine dans un monde divisé et frustré. Cependant, ce livre est quelque chose qui me tient profondément à cœur, mon bébé, mon portefeuille et mes moyens de subsistance, donc j'apprécie votre considération lorsque vous ramenez le texte à la maison et que vous y porez soigneusement pour apprendre de moi. Veuillez garder à l'esprit que je ne suis pasect, ce livre aura des erreurs, des révisions et de nouvelles éditions, et vous devrez penser avec votre cerveau logique du mieux que vous le pouvez afin d'avoir une expérience réussie avec mon écriture. Comprenez également que je veux dire bien pour vous même lorsque vous faites face à des défis lors de l'écriture. Pensez-y comme ceci: lorsque vous pouvez simplement louer un système informatique pour faire tout ce que vous pouvez imaginer dans l'espace numérique, stocker toutes les informations que vous rencontrez, # $%! Rencontrez inévitablement des difficultés avec les informations que vous ingérez et même publier. Je vous le dis parce que je rencontre les mêmes difficultés. Utilisez ce livre à vos risques et périls, travaillez avec votre communauté et vos communautés à votre disposition pour construire des logiciels dans un cadre sûr, et n'apportez pas les choses personnellement lorsque vous échouez ou même réussissez dans le mauvais sens: c'est comme ça que je suis allé aussi loin , et pourquoi je peux vous apporter ce texte et vous aider à réussir sans détourner sur un chemin de folieM'a me ruine, déchiré et effiloché pendant que je rencontre les problèmes ordinaires que tout le monde fait à l'échelle mondiale grâce à l'échelle mondiale paralellistique du réseau sur lequel nous travaillerons, Internet. Vous ne connaissez peut-être pas très bien qui je ne suis que quelques mots, mais je vous encourage à lire, vous pourrez me connaître alors que vous continuez à me lire et à me comprendre tout en construisant vos propres projets pour terminer votre travail. Il n'y aura pas de devoirs avec ce livre, tant que vos professeurs ou enseignants ne vous en affectent pas, mais je vous encourage fortement à construire un portefeuille de projets vous-même pendant que vous lisez, ainsi qu'un projet Capstone mettant en valeur la façon dont vous pouvez Appliquez ce que vous avez appris. Mon projet Capstone est la base de la majeure partie de ce que vous lirez dans ce livre, car il intègre le code de mes projets précédents, le code que j'ai créé et appris à écrire méthodiquement à la main, et un large éventail d'idées et de conseils qui m'ont aidé réussir au point où je peux tourner une application simple quiEntièrement en vedette et ressemble et se comporte comme une application populaire que vous pourriez voir votre ami ou votre famille utiliser, sur Internet, annoncé pour vous ou dans les nouvelles. Ce qu'est ce livre: Ce livre est un tutoriel par l'exemple. Vous pouvez trouver du code ici, des instructions pour savoir comment apprendre à coder, des informations sur le code de débogage et la correction des erreurs, le dépannage des étapes, les instructions sur la façon de sauvegarder et d'enregistrer votre code, de redéployer si quelqu'un déferle votre code, sécurisez votre code, déploie Votre code, créez des sites Web interactifs divertissants, engageants et addictifs, et vous aurez une idée de qui je suis, pourquoi c'est important et comment vous représenter, votre application et votre image d'entreprise, ainsi que les Le logiciel que vous créez dans la meilleure lumière absolue pour être le plus attrayant que possible pour vos utilisateurs finaux, les visiteurs de votre site Web. Dans ce livre, je vais démontrer un certain nombre d'exemples de conception de logiciels en mettant l'accent sur le Web en tant que plate-forme ainsi que la sécurité. Nous initierons l'expérience d'apprentissage en construisant une baseOject à l'aide du shell Unix, avec des fonctionnalités de sauvegarde et de script. Ensuite, nous examinerons un site Web de blog de base, mettrons à niveau notre blog avec des fonctionnalités photo et vidéo ainsi que pour utiliser ces fonctionnalités pour utiliser des solutions de sécurité à l'aide d'un logiciel gratuit et sécuriser notre serveur à l'aide d'un module d'authentification en permanence (PAM). Nous examinerons ensuite la gestion et le traitement des fichiers, explorant l'édition vidéo, le don vocal, la numérisation des codes à barres et la reconnaissance des caractères optiques, entre autres concepts. En cours de route, nous examinerons les API qui nous aiderons à rendre notre logiciel plus utile et sécurisé, avec des options gratuites et payantes. En cours de route, nous explorerons la sécurité physique et les outils militants tels que la conception et la fabrication des armes à feu et des munitions, y compris la conception de barils et de répétiteurs, la conception de tourelles et de drones, et d'autres directeurs que nous intégrerons avec notre logiciel sur le réseau existant afin de protéger notre logiciel et démontrer l'autodéfense et la résilience. Nous allons faire des pauses en cours de route pour construire des jeux, 2D et 3DEnfiler les moteurs et travailler avec du matériel intégré dans des exemples d'étude de cas de logiciel de rendu dimensionnel de base et un masseur vibrant électronique coulé respectivement dans du caoutchouc de silicone. En cours de route, nous utiliserons également des solutions d'apprentissage automatique déjà disponibles afin de mieux sécuriser notre logiciel. Nous utiliserons également des outils de stock disponibles pour le Web afin de rationaliser et de sécuriser le processus. Ce livre est un guide de votre succès dans la création d'une application Web et l'intégrer à un réseau professionnel de systèmes mécaniques informatiques et intégrés, et dans l'ensemble un guide pour créer des logiciels et du matériel intégré sans connaissance de fond ou expérience précédente. Ce que ce livre n'est pas: Si vous voulez vraiment avoir un site Web, vous pouvez simplement configurer un magasin simple et vendre ce dont vous avez besoin, publier un blog, publier des photos ou des vidéos, ou autrement sans jamais écrire une seule ligne de code. Ce livre n'est pas ça. Ce livre vous apprendra à créer des logiciels plus utiles, entièrementen vedette, fonctionnelle et sécurisée que n'importe quel logiciel que vous pouvez déjà trouver, car il déploie les derniers logiciels qui sont toujours des prototypes, peuvent être coûteux à exécuter à une échelle des entreprises plus anciennes et ne font pas appel à des sociétés alambiquées en arrière et conçues Gagnez de l'argent pour les gens qui ne font rien. Si vous suivez ce livre de près, vous voudrez écrire du code, rechercher du code, créer vos propres applications et vous gagnerez de l'argent à partir de ce que vous faites. Je ferai de l'argent à partir de ce livre, même à des premiers stades, car il contient des informations dont les gens ont besoin et veulent lire, et achètent déjà lorsqu'ils achètent ou utilisent mes applications. Ce livre ne créera pas une application pour vous, mais il vous indiquera dans la bonne direction et vous armera avec les outils dont vous avez besoin et les compétences et les conseils qui faciliteront votre propre succès dans la création de logiciels pour le Web, avec chaque ligne de Code que vous devrez écrire à titre d'exemple, prêt à être reconstitué dans le logiciel que vous et vos supporters, invités, clientèle,Les Riends, la famille, les visiteurs, les entrepreneurs et les habitants d'Internet souhaitent utiliser et soutenir. Ce que vous apprendrez: Ce livre vous apprendra à créer et vendre des logiciels, des logiciels vraiment fonctionnels et utiles, l'enregistrement des médias, des fonctionnalités de sécurité telles que la reconnaissance faciale, la numérisation des codes à barres lisible par la machine, les API Web pour authentifier, enregistrer et rendre des photos et des photos et échanger des messages comme Bluetooth et la communication proche du champ (NFC). Ce livre vous apprendra à utiliser un ordinateur en réseau, en se concentrant sur Debian Linux, comment créer du code bash pour faire de l'installation et de la sauvegarde de votre logiciel une brise transparente et automatisée, comment créer du code Python comme backend pour servir des messages dynamiques, style Les choses à l'aide de styles CSS avec bootstrap, permettent aux connexions des utilisateurs et à l'interactivité via des appareils en réseau, créez des médias interactifs et réseau Objectifs, numérisation d'identification, modération d'image et vidéo, donnéesRansactions pour garder votre logiciel en sécurité, le traitement des paiements, le trading des crypto-monnaies, les tâches asynchrones, et plus encore. Vous apprendrez à construire vos propres appareils Bluetooth, avec des batteries, des chargeurs, des microcontrôleurs, des circuits, des moteurs et des capteurs, en utilisant la soudure, le fil et la 3D imprimés ainsi que les matériaux coulés. Je vais démontrer les directeurs de conception 3D appliqués à la fabrication additive et à la fabrication d'outils et de matrices, vous pouvez donc fabriquer vos propres dispositifs matériels intégrés avec des batteries, des chargeurs, des circuits électroniques et des sorties fonctionnelles intégrées. et les réseauter avec Bluetooth et le Web. Plus précisément, nous examinerons deux études de cas, un masseur vibrant et une arme à feu faits maison, tous deux programmés dans OpenSCAD, qui est disponible sous forme d'interface graphique ou d'utilité de ligne de commande et peut être intégré dans un Web pour des résultats plus rapides. Vous apprendrez à créer et à déployer un site Web à partir de zéro sans aucune expérience préalable, le rendre fonctionnel, sécurisé, beau, utile et le plusMorporellement pratique. Vous apprendrez à utiliser l'apprentissage automatique et la vision par ordinateur pour rendre un site sécurisé et plus pratique, enregistrer la vidéo et l'audio à partir de votre site Web, faire don de votre voix, faire de la musique et moduler l'audio pour créer des échantillons utiles, et comment percer le bruit par Tirer parti d'autres sites Web pour créer le meilleur réseau possible de sites Web que vous pouvez lier directement avec le vôtre afin de partager toutes les informations utiles que vous avez à offrir, et plus important encore, amenez les gens à votre logiciel et à votre entreprise. Ce livre sera le plus axé sur les médias, la sécurité et l'apprentissage automatique, qui sont les trois principaux composants qui vous aideront à créer un logiciel utile pour le Web en engageant les bons utilisateurs et en désengageant les mauvaises d'une manière réaliste, pratique, pratique et engageant tout en étant automatique, et robuste. Ce livre enseigne Unix, spécifiquement Debian (Ubuntu), Bash Shell, Python, HTML, CSS, JavaScript et un certain nombre de packages de logiciels utiles pourn Aime les demandes, ainsi que des logiciels de bash utiles comme Git et FFMPEG. Je vais également vous apprendre à échanger automatiquement la crypto-monnaie et à prendre des paiements en crypto-monnaie ou à des cartes de débit régulières tout en payant à vos visiteurs une part de vos revenus si vous choisissez de le faire. Je vais vous apprendre à gagner de l'argent à partir de votre site Web via la publicité, comment préparer votre application pour les moteurs de recherche et le faire rapidement, classé dans le premier classe recherche comme possible. Je vais vous apprendre à vendre votre logiciel, à l'annoncer, à faire appel aux clients à la recherche de vos services et à vous faire un nom sur Internet via des avenues qui existent déjà, sont peu coûteuses et fonctionnent bien. Je vais vous apprendre à enregistrer vos données sur des ordinateurs cloud qui fonctionnent pour vous et à enregistrer vos données à moindre coût, à planifier et à créer un site Web qui fait ce que vos utilisateurs veulent et ce que vous voulez, et comment garder vos utilisateurs engagés parEn insistant votre site, appuyez sur leurs téléphones avec des notifications, des e-mails, des messages texte, des appels téléphoniques et plus de voies pour ramener vos utilisateurs à votre site Web à votre disposition derrière le clic d'un bouton qui vous est sécurisé uniquement. Ce livre se concentrera sur l'aspect pratique de la publication et de la distribution des médias en grande quantité, du texte aux photos en passant Un site Web, une application qui est représentative de vous et de vous uniquement, et vous fait, votre logiciel et votre entreprise sont beaux de la meilleure façon possible. Vous apprendrez également quelques conseils et astuces de moi, des conseils de codage, de la vanité pratique comme le maquillage et la photographie, la modélisation et le jeu, et plus encore, qui seront importants pour représenter vous-même et votre entreprise dans la meilleure lumière possible en utilisant tous les outils disponibles disponibles à vous tout en distribuant autant de contenu que vous avez besoin sur un équilibre sain de plateformes pour apporter votreE pour se concrétiser sans plus d'effort, de travail ou d'argent que nécessaire. Ce livre est appelé «Exemple d'apprentissage et de sécurité en profondeur basé sur le Web» pour une raison: il traite de l'apprentissage du code, en particulier pour le Web, en particulier en mettant l'accent sur la sécurité, d'un point de vue pratique, avec des exemples de code de travail qui sert Les objectifs pratiques décrits dans le texte. Le composant d'apprentissage de ce texte englobe également l'apprentissage automatique, le code que je vais vous montrer comment exécuter pour le Web qui s'occupera de la vision de l'ordinateur, de la reconnaissance faciale, de la modération de l'image et de la vidéo, de l'amélioration de l'image, de l'amélioration de la résolution, du sous-titrage de l'image et d'autres tâches comme Les mesures de prédiction provenant d'images, telles que la nature de l'image en tant qu'image authentique et transférée par ordinateur, ou une copie optique (photo d'une image ou photo imprimée). L'apprentissage automatique est très important en ce qui concerne la sécurité Web et la sécurité des logiciels, car il peut effectuer des tâches qui étaient autrement impossibles. Votre ordinateurEnregistrez-vous avec un code d'accès, mais il peut être plus sûr de l'utiliser s'il vous enregistre avec votre visage. Vous pouvez faire un ordinateur de serveur en toute sécurité, un ordinateur qui vous demanderait normalement un nom d'utilisateur et un mot de passe et vous enregistrer, peut-être avec un jeton de confirmation pour chaque nouvelle connexion ou nouvelle adresse IP, mais si vous construisez à grande échelle, facile à Utilisez, des logiciels fondamentalement sécurisés et puissants, cela peut suffire. Lier trop étroitement votre logiciel avec le logiciel de quelqu'un d'autre, comme un service de messagerie ou un service de SMS, ne suffit pas à rendre votre logiciel sécurisé, ou à quiconque (tout site que vous utilisez). Quiconque construit des logiciels impeccablement sécurisés a une idée de ce que cela implique. Le logiciel est intrinsèquement sans sécurité car les appareils et les comptes que nous utilisons pour y accéder ne sont pas toujours à notre disposition, ils pourraient être entre les mains de toute personne ayant une mauvaise intention pour le logiciel et peuvent donc poser un risque pour le logiciel lui-même. C'est quelque chose de l'objectif de ce livre. Un ordinateur en réseau est par défautsécurisé avec un jeton à clé long, appelé et ssh ou sécurisé shell, et est par ailleurs mieux sécurisé avec un serveur Web, car le serveur Web fournit l'accès ouvert ainsi que les outils de sécurité de pointe exécutés sur le serveur lui-même. Le serveur Web a accès au navigateur Web de l'utilisateur, qui est sans doute la partie la plus puissante de l'appareil de l'utilisateur, car c'est l'endroit où l'utilisateur peut accéder à un logiciel en réseau. Cette boîte à outils peut rendre du texte, les pages Web que vous voyez, et peut également enregistrer des images, l'audio et la vidéo (comme une photo d'un visage ou d'un identifiant d'état), peut lire et écrire sur des appareils radio Bluetooth, et peut lire et écrire sur un champ proche Les balises de transpondeur, les cartes clés bon marché, les FOB, les autocollants, les anneaux et même les implants de puce avec des numéros de série uniques qui peuvent être lus et écrits avec des données générées et validées par un serveur Web lié au site Web. En utilisant tous les outils à votre disposition, avec ce livre, vous vous équiperez des connaissances pour créer un site Web sécurisé, et dans l'ensemble unSystème informatique en réseau URE qui fonctionne pour vous, fait vos enchères et semble bien. Par où commencer: Vous êtes invités à passer la section avec laquelle je commence ce livre, ou n'importe quelle section, au code exact dont vous avez besoin, surtout si vous avez de l'expérience avec le codage avant ou l'un des outils susmentionnés que je décrirai en détail dans ce livre comme ainsi que de documenter les cas d'utilisation et leurs exemples pratiques. Si vous n'avez pas d'expérience dans la rédaction de code, je vous recommande fortement de lire tout ce livre, et surtout vous recommande de lire les sections précédentes, pour vous assurer que ce livre vous convient. Si ce livre ne vous convient pas, envisagez de le offrir à un ami ou à un parent qui pourrait être intéressé à apprendre le développement Web lui-même, et même envisager de l'emprunter et d'apprendre d'eux pour combler les lacunes où je vous ai échoué en tant que L'enseignant ou d'autres professeurs l'ont fait avant moi. Commencez où vous allez, chaque partie de ce livre sera utile si vous avez l'intention de créer un utilePP, et considérez que les meilleures applications sont construites en pensant à l'utilisateur final: connaissez votre client. Maintenant, vous me connaissez, vous connaissez ce livre et vous êtes prêt à commencer. Pour commencer, prenez un ordinateur (même l'ordinateur portable le moins cher à partir d'un magasin de boîtes, d'Amazon ou d'un vieux bureau, et de le configurer d'une manière qui fonctionne pour vous. Comment lire ce livre: Texte en surbrillance, indique que le texte appartient à une invite de commande, où vous rédigerez le code que vous exécutez. L'invite de commande est fortement axée sur le clavier et nécessite peu ou pas de clic, accélérant votre flux de travail et vous facilite les choses. Commencer: Plongeons. Nous commencerons par créer du code sur une machine locale et commençons sans créer un site Web connecté à Internet. C'est plus sûr de commencer, ne coûte rien et est facile pour vous. Selon votre système d'exploitation, entrer dans un coquille de bash sera un peu différent. Pour Mac OS, je recommande d'installer une machine virtuelle à ce stade, car vous obtiendrez le plus de compatibilité avecmachine virtuelle. Divers fournisseurs tels que VirtualBox et Paralells peuvent exécuter une machine virtuelle pour vous, bien qu'il soit également possible d'installer Ubuntu directement sur la machine, si vous préférez utiliser un environnement natif qui est recommandé afin de créer une expérience rapide et rationalisée. Si vous utilisez Linux ou Windows, ce que je recommande, il devrait être assez facile de créer un projet. Ouvrez votre terminal, ajustez le dimensionnement comme bon vous semble et commencez à suivre l'étape 2. Si vous utilisez Windows, veuillez suivre l'étape 1. Étape 1: - Utilisateurs de Windows uniquement Dans Windows, ouvrez l'invite de commande en tant qu'administrateur et tapez wsl - installer Étape 2: - Continuez ici, ou sautez l'étape 1 ici si vous n'utilisez pas Windows Dans un terminal ouvert, (selon votre système d'exploitation, appelé Ubuntu dans Windows, Terminal dans Mac ou Linux, ou un nom similaire), commencez par créer un projet. Nous le faisons avec la commande MKDIR, qui crée un répertoire. Si vous devez créer un répertoire pour stocker votre projet, ce qui est recommandé, utilisez leCommande CD pour passer au répertoire et et et CD / Path / To / Directory - Le chemin est les dossiers (fichiers) qui précèdent votre répertoire de destination, votre chemin par défaut est ~ ou / home / username (où le nom d'utilisateur est votre nom d'utilisateur). Pour passer au répertoire par défaut, tapez CD ou CD ~ Exemple MKDIR - Remplacez «Exemple» par le nom du répertoire Vous avez maintenant un répertoire de travail pour votre projet. Étant comme il est si important de faire enregistrer ce répertoire au cas où vous auriez besoin de passer à une autre machine ou de déployer le code que vous écrivez afin qu'il soit prêt pour le Web, nous créerons un script pour sauvegarder votre répertoire dans les prochaines étapes. Mais la construction d'un script prend un peu de code, et le code doit être automatisé pour être aussi utile que possible. Créons donc un script pour créer d'abord des scripts. Commençons par créer le script et en le faisant exécutable. Nous utiliserons sudo, chmod et touch pour cela, et appelons le script
sudo touch /usr/bin/ascript
sudo chmod a+x /usr/bin/ascript
sudo nano /usr/bin/ascript
Maintenant, nous avons créé le script, l'a fait exécutable et sommes prêts à le modifier. Nano est un éditeur de texte qui vous permettra de modifier le texte sans cliquer, ce qui est beaucoup plus facile que d'utiliser une interface utilisateur graphique. Pour modifier un fichier avec Nano, utilisez Nano puis le chemin d'accès au fichier. Pour faire un script qui fait un script, il est assez similaire à la fabrication de notre script en premier lieu. Nous utiliserons le même code que ci-dessus, en remplaçant le nom du script, «AScript» par un paramètre d'argument, 1 $. Cela nous permet d'appeler le script en tapant simplement sudo ascript newscript, à quel point nous pouvons créer tout nouveau script en remplaçant «Newscript» par le nom de votre script. Le code dans Nano devrait ressembler:
sudo touch /usr/bin/$1
sudo chmod a+x /usr/bin/$1
sudo nano /usr/bin/$1
Et pour fermer Nano, nous pouvons maintenir la touche de contrôle et appuyer sur X, puis Y pour indiquer que nous enregistrons le fichier et appuyez sur Retour. Maintenant, au lieu de taper ces trois commandes pour modifier un script, nous pourrons taper sudo ascript ascript pour modifier à nouveau le script. Cela fonctionne! Et tout nouveau script peut être exécuté facilement en l'appelant dans le shell. Enregistrons notre travail maintenant: écrivons un script de sauvegarde pour enregistrer notre nouveau script, puis le soutenons dans notre répertoire de projet, tout en sauvegardant le script de sauvegarde.
sudo ascript backup
Maintenant, dans Nano:
sudo cp /usr/bin/backup /path/to/directory/
sudo cp /usr/bin/ascript /path/to/directory/
WHERE / PATH / TO TO / DIRECTORY est le chemin du projet que vous avez créé avec MKDIR. Plus tard, nous apprendrons à copier des chemins de répétition comme celui-ci avec une boucle et une liste, ce qui est moins de code, mais pour l'instant, gardons les choses simples et ayez quelques lignes. Pour exécuter ce script et sauvegarder votre code, enregistrez le fichier dans Nano avec Control + X, Y et retourne, et tapez ce qui précède dans votre shell
backup
Si vous êtes invité à un mot de passe tout en lisant ce livre et en suivant le shell, veuillez saisir correctement votre mot de passe utilisateur, vous aurez trois essais avant de devoir relancer la commande. Vous pouvez utiliser les flèches de haut en bas pour réacheminer les commandes et de les modifier, si vous devez exécuter quelque chose deux fois. Appuyez sur Simple de haut en bas par intermittence pour sélectionner une commande, avant de modifier la commande avec les flèches à droite, les flèches gauche et la touche de supprimer ainsi que le clavier, et l'exécuter avec Return.
Félicitations! Vous avez réussi à créer un script de sauvegarde génial qui soutient deux scripts shell importants dans votre répertoire de travail. Nous pourrions déplacer les choses plus tard à mesure que le projet s'agrandit, mais cela fonctionne pour l'instant. Passons à la sauvegarde dans le cloud, nous utiliserons GitHub pour cela (bien qu'il existe de nombreuses autres solutions GIT pour la sauvegarde, elles sont toutes à peu près les mêmes.) Git est un logiciel de contrôle Verision qui vous permet de sauvegarder les modifications à votre logiciel comme vous les faites sur un serveur, tandis queVous permettant également de télécharger des copies entières de votre logiciel derrière un mot de passe ou une clé. Il contribue à enregistrer votre logiciel, d'autant plus que nous migrons vers des instances Linux sécurisées qui se cassent parfois lorsqu'une seule ligne de code échoue, vous laissant verrouillé alors que votre code peut ne pas être sauvegardé si vous n'avez pas la chance de le soutenir Autant automatiquement, que nous couvrirons.
Si vous n'utilisez pas déjà une machine virtuelle Ubuntu à ce stade, je recommande à l'aide d'une machine virtuelle Ubuntu à ce stade car elle vous facilitera la vie lors de l'installation de tous les packages nécessaires pour créer un site Web de travail et préformer l'apprentissage en profondeur opérations sur votre ordinateur. Nous déplacerons le code vers un serveur Web dans un avenir proche, mais nous voulons nous assurer qu'il y a au moins quelques couches de sécurité derrière notre serveur Web qui résistent au phishing et utilisent un certain nombre de packages Linux pour faire ce. Si vous souhaitez toujours utiliser Mac OS, vous êtes invités à rechercher et à installerE Packages nécessaires en ligne, mais il n'y a peut-être pas d'alternatives pour chaque package que ce livre ou série couvrira.
Ajoutons quelques commandes pour commettre notre travail avec le script de sauvegarde en exécutant la commande sudo ascript
# …
git add –all
git commit -m “backup”
git push -u origin master
Encore une fois, contrôlez x pour enregistrer.
Nous devons maintenant faire une configuration unique pour ce projet. Parce que ce sera bientôt un projet GIT, nous n'avons pas besoin de taper toutes les commandes à chaque fois que nous déploiez à partir d'un référentiel GIT, mais nous aurons le respect de cela lorsque nous écrivons nos scripts de déploiement. Pour commencer, assurez-vous que nous sommes dans le bon répertoire et initialisez le référentiel GIT et générons des clés SSH.
cd /path/to/directory
git init
git branch -m master
ssh-keygen
Après avoir saisi SSH-Keygen, la nouvelle clé doit être enregistrée dans le dossier à domicile dans un dossier appelé .ssh. Il s'appelle id_rsa.pub. Trouvez cette clé et copierons-la. Pour le voir,
cd ~
cat .ssh/id_rsa.pub
Copiez le texte qui est renvoyé par la dernière commande et créez un compte avec votre fournisseur GIT (idéalement github), avant d'ajouter la clé SSH à votre compte. Une fois que vous avez un compte, cliquez sur le menu supérieur droit et entrez les paramètres, avant d'ajouter votre touche SSH dans les touches SSH et GPG sous accès dans le menu. Sélectionnez Ajouter une touche SSH et ajoutez le vôtre en le collant et en lui donnant un titre, avant d'enregistrer et de revenir à GitHub pour créer un nouveau référentiel. Ceci est similaire pour d'autres fournisseurs GIT, vous devrez lire leur documentation. Dans la nouvelle configuration du référentiel, donnez à votre référentiel un nom descriptif et décidez si vous souhaitez le publier et assurez-vous de ne configurer aucun fichier pour l'inclusion. Une fois le référentiel créé, copiez le clone avec l'URL SSH et collez-le dans la commande suivante.
git remote add git://… (your remote URL)
Vous pouvez maintenant revenir à votre référentiel avec CD, vous le connaissez. Essayez votre script de sauvegarde maintenant avec une sauvegarde
Super! Maintenant, nous pouvons vraiment obtenir du codage. Installons Django maintenant que nous avons une bonne compréhension de Bash et Git. Django nous permettra automatiquement de sauvegarder notre logiciel, Bash peut également le faire, mais Django devrait avoir une implémentation plus simple plus sûre (elle peut être désactivée et configurée plus facilement).
Pour installer un logiciel dans Ubuntu, nous utiliserons la commande sudo apt-get. Tout d'abord, mettons à jour et améliorons le logiciel que nous avions déjà. Cela peut être fait avec la mise à jour Sudo Apt-Get et la mise à niveau Sudo apt-get -y. Ensuite, installons Python et notre environnement virtuel, la maison de notre code, avec la commande suivante: sudo apt-get installer python-is-python3 python3-vevv
C'est tout ce dont vous avez besoin pour aller avec Django en termes d'installations logicielles dans l'instance Ubuntu. Pour Windows et Linux, cela devrait être assez simple, mais pour Mac, vous voudrez peut-être installer une machine virtuelle etLinux dessus à l'aide d'un environnement virtuel gratuit ou payé comme VirtualBox ou Paralells Desktop et recréer les étapes ci-dessus afin de configurer un environnement Ubuntu. Ubuntu est essentiel dans ce cas car c'est le logiciel que les sites Web exécutent et leur permet d'héberger des sites Web avec tous les logiciels susmentionnés.
Discutons dans le Django.
Dans notre annuaire encore, avec
python -m venv venv # Crée l'environnement virtuel où le code est stocké
source venv/bin/activate # Active l'environnement virtuel
pip install Django
django-admin startproject mysite . # Où MySite est le projet que je commence dans mon répertoire actuel.
Django ne fait que démarrer, car Django héberge le serveur Web et fait tout ce dont nous avons besoin pour obtenir un site Web local de base opérationnel. Maintenant que nous avons installé Django, modifions un peu les paramètres pour le faire fonctionner comme nous en avons besoin. Tout d'abord, créons une nouvelle application
python manage.py startapp feed
Vous remarquerez que la première application est appelée flux. L'application doit être appelée comme vous voulez, et nous créerons de nouvelles applications, mais le nom de chaque application doit être cohérent chaque fois que l'application est référencée dans le code. Pour ajouter une nouvelle application, nous modifierons toujours les paramètres.py dans l'autre répertoire créé par l'application, nommé dans StartProject, ci-après l'application. En utilisant nano,
nano app/settings.py
Dans les paramètres, trouvez installé_apps et séparez le [] en 3 lignes. À l'aide de quatre espaces sur la ligne centrale vide, ajoutez «Feed» ou le nom de votre application. Cette section des paramètres.py devrait ressembler:
INSTALLED_APPS = [
'feed',
]
Avant d'oublier, testons que Django fonctionne. En utilisant la commande python manage.py runserver 0.0.0.0:8000, nous pouvons exécuter le serveur, puis naviguer dans un navigateur Web sur l'ordinateur exécutant le code vers http: // localhost: 8000 et voir un exemple de page Web (cela fonctionne!) Quittez le serveur avec Control C, comme n'importe quelle autre commande.
Maintenant, foulons dans l'écriture de code python. Django a trois composants principaux, tous exécutés par code entièrement. Les composants sont appelés modèle, vue et modèle, et chacun est respectivement à un niveau supérieur et inférieur avant la livraison de la page Web à l'utilisateur.
Le modèle est le code qui stocke les informations dans la base de données pour la récupération, la tri et le rendu.
La vue décide comment le modèle est rendu, manipulé et modifié, presque toutes les vues utiliseront directement un modèle.
Le modèle est le code HTML avec quelques cloches et sifflets supplémentaires appelés langue du modèle. Le modèle est rendu par la vue où il est rempli de code python etcontexte tel que les modèles et les informations (les chaînes et les entiers usuall) de la vue.
Django a également d'autres composants, y compris, mais sans s'y limiter:
Paramètres, qui configure l'application comme nous l'avons discuté.
URL, qui sont des modèles que l'utilisateur suit pour accéder à des parties spécifiques de l'application Web.
Formulaires, qui définissent comment les informations envoyées au serveur sont gérées et rendues à la base de données ainsi qu'à l'utilisateur. Ce sont les fondements du traitement des informations du côté serveur et peuvent accepter tout type d'informations dans les magasins informatiques, notamment les chaînes de texte, les nombres et les booléens vraies / faux (généralement des cases à cocher).
Les modèles, qui sont du code HTML et du langage des modèles et comblent l'écart entre Python et HTML, ce qui signifie que les informations Python peuvent être servies de code HTML auquel tout le monde peut accéder et peut sécuriser un site Web avec un accès restreint, tout en rendant le code Python accessible et utile et utile à diverses fins sur un appareil distant qui neEed être près du serveur.
Les fichiers statiques, qui sont généralement JavaScript et ses bibliothèques que le serveur sert et est lié au modèle.
Fichiers multimédias, que le serveur sert ou est hébergé en externe, ou simplement écrit sur le serveur avant d'être traité et publié sur un autre serveur (un seau) pour l'hébergement.
Middleware, qui est des éléments de code exécutés en même temps que chaque vue et qui sont considérés comme «inclus» dans la vue.
Processeurs de contexte, qui traitent le contexte de chaque vue et sont utilisés pour ajouter un contexte supplémentaire.
Tests, qui valident que l'utilisateur ou la demande transmet certaines exigences avant que la vue ne soit rendue.
Les consommateurs, qui dictent la façon dont WebSockets gère et répond à la communication.
Admin, qui est utilisé pour enregistrer des modèles afin qu'ils puissent être manipulés en détail dans la page d'administration Django, où la base de données peut être administrée via une interface graphique.
Le céleri, qui définit les tâches asynchrones, les parties du code Django peuvent commencerNNING avant de passer immédiatement à la tâche ou à la ligne de code suivante.
Django peut avoir de nombreux autres composants, dont nous discuterons en détail ici. Il existe de nombreuses façons de rendre Django plus fonctionnel, ajoutant des lignes Web, qui sont des canaux de communication rapides et rationalisés, du céleri, qui exécute des tâches asynchrones, et une multitude d'autres logiciels pour l'extension de Django, en particulier dans la vue, les fonctions, où la plupart de le code est exécuté. Les fonctions de vue sont essentielles car elles déclarent généralement chaque morceau de code spécifique à un modèle URL spécifique ou à une section du serveur.
Tout d'abord, explorons les fonctions de vue. Les fonctions de vue commencent par des importations désignant le code qui sera utilisé dans la vue et est défini à l'aide de définitions ou de classes de fonctions régulières. Les vues les plus simples sont définies par la définition de fonction Def et renvoient une HTTPResponse avec un modèle de base. Commençons par définir une vue de base pour retourner le texte «Hello World». N'oubliez pas que chaque fois que vous ajoutezFter d'une déclaration comme Def, si, pour, pour, etc., vous devrez ajouter 4 espaces pour chacune des définitions précédentes que vous souhaitez appliquer à votre fonction. Nous entrerons dans ce que chacun signifie bientôt.
Dans le répertoire de notre site, modifiez le fichier feed / views.py à l'aide de nano et ajoutez les lignes suivantes à la fin du
from django.http import HttpResponse
def hello(request):
return HttpResponse('hello world')
La HTTPResponse de Django répond avec une chaîne de texte, indiquée avec l'ouverture et la clôture ». Chaque fois que vous transmettez des informations à une fonction ou à une classe, comme une demande ou une chaîne, vous devrez utiliser des parenthèses (, ouverture et fermeture).
Ce n'est pas tout ce dont nous avons encore besoin pour voir notre point de vue. Bien sûr, nous n'avons pas dit au serveur où se trouvait la vue, nous devons toujours définir un chemin par lequel la vue devrait être rendu. Commençons par définir un chemin de base dans app / url.py, et nous entrerons dans des groupes de chemin plus tard.
Dans APP / URLS.py, ajoutez une ligne après les instructions d'importation après l'importation de début de la vue que nous venons de créer.
from feed import views as feed_views
Maintenant, définissons le modèle de vue. Les modèles de vue ont trois composants, le composant de chemin, qui indique au serveur où la vue existe dans le serveur (le chemin d'accès URL que l'utilisateur tape dans la barre de navigation pour entrer la page Web), le composant de vue où la vue est spécifiée et un Nom convivial pour la vue, il est donc facile de récupérer son modèle lorsque vous travaillez avec un modèle, surtout pour que son nom puisse être modifié et mis à jour si nécessaire pour faire de la place pour une autre vue ou prendre un nom plus logique. Il est logique de faire les choses de cette façon et d'être flexible, car votre base de code sera un environnement en constante évolution qui nécessite une flexibilité et une improvisation afin d'être précieuses et faciles à travailler. Voici à quoi ressemblera votre point de vue, vous pouvez l'ajouter à la UrlPatterns = [Section de App / url.py. Le modèle de vue est défini avec les trois composants décrits ci-dessus, et une fonction appelée chemin. Vos modèles d'URL sont une liste, alors assurez-vous de toujours terminer chaque élément dedansavec une virgule, car cela sépare chacun. Chaque élément doit également aller sur une nouvelle ligne, encore une fois avec quatre espaces avant lui, tout comme l'application dans Settings.py. Nous définirons le premier composant de la vue avec une fonction de chaîne vide, afin de créer une vue qui s'exécute sur le répertoire racine du serveur Web. Votre url.py devrait maintenant ressembler à
from feed import views as feed_views
urlpatterns = [
path('', feed_views.hello, name='hello'),
]
C'est la base de la création d'un site Web avec Django qui est complètement statique. Afin de créer un site Web plus dynamique où nous pouvons commencer à mettre en cache des informations, comme les images, les vidéos, l'audio et plus encore, nous devrons utiliser des modèles, que nous explorerons ensuite. Pour l'instant, vérifions notre code et exécutons le serveur. Pour vérifier les erreurs du code, exécutez:
python manage.py check
S'il y a des messages d'erreur, vous devez examiner attentivement les modifications que vous avez apportées à votre application et voir s'il y a quelque chose qui doit être corrigé, comme un espace étranger ou manquant, un caractère supplémentaire, une chaîne non clôturée, n'importe quelle faute Le caractère supprimé, ou autre chose. En lisant le message d'erreur (si vous en avez un), vous devriez être en mesure de voir le chemin d'accès à un fichier que vous avez créé ou édité avec un numéro de ligne, alors regardez ce fichier et cette ligne et voyez si vous pouvez corriger tout ce qui est là . Si vous avez résolu le problème, exécutez à nouveau la commande ci-dessus. Lorsque votre logiciel est prêt à s'exécuter et fonctionne, vous verrez la sortie «Le contrôle du système n'a identifié aucun problème». Maintenant, vous êtes prêt à partir. Exécutez le serveur avec:
python manage.py runserver 0.0.0.0:8000
Ouvrez maintenant un navigateur Web et accédez à http: // localhost: 8000. Vous devriez voir le texte renvoyé dans la parenthèse et les citations de la fonction HTTPResponse à votre avis. Ce n'est qu'un exemple de base, mais si vous avez fait jusqu'à présent, vous comprenez les bases du fonctionnement de Linux, Bash, Python et Django. Approfondissons une modélisation de la base de données et explorons la puissance d'une classe Python dans le stockage des informations. Ensuite, nous allons commencer à prendre une emprise sur HTML et CSS avant de créer notre site entièrement en vedette, flexible et sécurisé en utilisant JavaScript et l'apprentissage automatique.
Les cours sont stockés dans les modèles.py de votre application. Utilisation de Nano, modifiez App / Models.py et ajoutez une nouvelle classe. Une classe est définie avec la définition de la classe et a passé une superclasse dont il hérite, dans ce cas Models.Model. Le nom de la classe vient après la définition de la classe, et après que la définition de la classe A: (Colon) est utilisée, avant que les attributs et les définitions de fonction liés à la classe ne soient désignés ci-dessous. Notre classeBesoin d'un ID que nous pouvons utiliser pour le récupérer et le garder unique, et il a également besoin d'un champ de texte pour stocker certaines informations. Plus tard, nous pouvons ajouter un horodatage, des fichiers, des booléens (des définitions vraies ou fausses qui peuvent aider notre code à prendre des décisions sur ce qu'il faut faire avec le modèle, et peut être utilisé pour le trier), une instance pour lier le modèle à un utilisateur enregistré dans le serveur, et plus encore. Décomposons le code
from django.db import models # L'importation utilisée pour définir notre classe et ses attributs
class Post(models.Model): # La définition de notre classe elle-même
id = models.AutoField(primary_key=True) # L'ID de notre modèle, une clé générée automatiquement qui nous permettra d'interroger le modèle, de le garder unique et est utile lorsque nous devons interagir avec le modèle une fois qu'il a été créé.
text = models.TextField(default='') # L'attribut que notre classe stocke, dans ce cas, du texte, défaut en une chaîne vide.
Fermez et enregistrez le fichier comme nous l'avons fait auparavant pour terminer.
Il existe de nombreux autres champs et options que nous explorerons lorsque nous mettons à jour cette classe à mesure que notre application évolue, mais il s'agit des nécessités de base de la création d'une application pour publier du texte. Cependant, ce modèle ne fonctionnera pas seul. Comme décrit précédemment, nous aurons besoin d'une vue personnalisée et d'un modèle d'URL personnalisé pour faire fonctionner ce modèle, et nous aurons également besoin d'un formulaire avec un modèle. Explorons d'abord le formulaire.
Pour définir un formulaire, modifiez l'application / forms.py avec nano et ajoutez les lignes suivantes. Nous aurons besoin de deux importations, de notre classe de formulaires, ainsi que du modèle que nous avons créé (feed.models.post), une définition de classe similaire au modèle et un champ ainsi qu'une sous-classe appelée méta qui définira le modèle. La forme interagit avec. Le formulaire peut également avoir une fonction d'initialisation qui les définit en fonction des informations dans la demande, le modèle ou autrement, nous l'explorerons plus tard.
Les formulaires de modèle sont si utiles car ils peuvent créer un modèle ou modifier également un modèle,Nous les utiliserons donc pour les deux. Définissons-en un dans des formulaires.py
from django import forms
from feed.models import Post
class PostForm(forms.ModelForm):
text = forms.CharField(widget=forms.Textarea)
class Meta:
model = Post
fields = ('text',)
Ce sont les bases de ce à quoi ressemble une forme et un modèle. Ce formulaire de modèle peut être utilisé pour instancier ou modifier un post, modifiant le texte qu'il contient. Nous chercherons à intégrer ce formulaire dans une vue ensuite. Tout d'abord, faisons les migrations et migrons la base de données afin que notre code puisse interagir avec le modèle lorsqu'il s'exécute. Pour ce faire, exécutez les commandes suivantes:
python manage.py makemigrations
python manage.py migrate
Cela prendra une minute à exécuter, mais une fois que cela le fera, cela vous permettra d'accéder au modèle dans les vues, au middleware ou ailleurs dans le logiciel. Continuons en donnant une vue où nous pouvons voir notre modèle. Modifiez Feed / Views.py et ajoutez le code suivant, comme indiqué. Vous n'aurez pas besoin d'ajouter quoi que ce soit après le signe #, ce code est des commentaires utilisés pour désigner des informations sur le code. Nous allons commencer par importer notre modèle dans les vues et l'ajouter à un contexte où nous pouvons le rendre dans un modèle en tant que liste d'affichage. Ensuite, nous ajouterons un modèle où nous pouvons rendre le formulaire et le modèle avec un bouton pour créer un nouvel objet basé sur le modèle et le publier sur le serveur. Cela semble compliqué, alors faisons-le étape par étape. Avant de terminer la vue, créons un modèle qui ne fait que rendre le modèle et assurez-vous que nous pouvons le voir en créant un nouveau message dans le shell. Voici à quoi devrait ressembler cette vue:
from feed.models import Post
from django.shortcuts import render, redirect
from django.urls import reverse
def feed(request):
posts = Post.objects.all() # Interrogez tous les messages de la base de données jusqu'à présent
return render(request, 'feed/feed.html', {
'posts': posts,
})
Tout cela semble assez simple jusqu'à ce que nous arrivions au fond. Rendu, la valeur renvoyée par la fonction plutôt que dans une réponse HTTP comme l'exemple précédent, prend toujours une demande comme première entrée, accepte un contexte (dans ce cas, les messages de la base de données), qui peuvent maintenant être rendus dans le modèle et renvoie le modèle défini dans la fonction. Le modèle va être un document HTML avec un peu de langue appelée Jinja2, qui rend les informations Python dans le HTML.
Pour commencer à créer des modèles, faites deux répertoires en flux.
mkdir feed/templates
mkdir feed/templates/feed
Ensuite, modifiez un modèle dans le répertoire ci-dessus, Feed / Modèles / Feed et ajoutez le code pour cet exemple. Regardons le modèle pour cet exemple.
<!doctype HTML>
<html>
<body>
<legend>Feed</legend>
<hr>
{% for post in posts %}
<p>{{ post.text }}</p>
{% endfor %}
</body>
</html>
Il s'agit d'un modèle très simple. Il définit l'ouverture et la fermeture des balises HTML, une balise de type de document, une balise corporelle avec un titre de légende, une balise de rupture qui ajoute une petite ligne à travers l'écran et une boucle pour la boucle qui rend chaque publication dans la liste des messages en tant que paragraphe dans le modèle. C'est tout ce qu'il faut pour rendre les publications, mais il n'y en a pas encore dans la base de données. Créons-nous avec la coquille. Nous pouvons exécuter le shell avec manage.py
python manage.py shell
Maintenant, importons notre modèle de poste
from feed.models import Post
Ensuite, nous créerons un article simple avec une chaîne et quitterons le shell. La chaîne peut être n'importe quoi, aussi longtemps que c'est un texte valide.
Post.objects.create(text='hello world')
exit()
Enfin, nous devrons ajouter un motif d'URL à notre flux. Parce que notre application Feed utilisera plusieurs URL et que nous voulons garder les tailles de fichiers petites, créons une URL.py locale dans notre application Feed qui ressemble à ceci:
from django.urls import path
from . import views
urlpatterns = [
path('', views.feed, name='feed'),
]
Nous aurons également besoin de modifier les URL.py dans l'application de base, quoi que nous ayons décidé de l'appeler, c'était le premier répertoire que nous avons créé. Modifier app / app.py et ajouter ce qui suit aux modèles d'URL
from django.urls import include # en haut
urlpatterns = [
# ... code précédent ici
path('feed/', include(('feed.urls'), namespace='feed')),
]
Maintenant, lorsque nous exécutons le serveur avec Python Manage.py RunServer, nous verrons la page que nous avons créée car nous avons le modèle, la vue et le modèle ainsi que le modèle URL, ainsi que les éléments de la base de données. Ensuite, mettons en œuvre le formulaire que nous avons créé et commençons à créer nos propres articles. Mais avant d'écrire trop de code, faisons une sauvegarde en utilisant le script que nous avons écrit plus tôt, sauvegarde. Exécutez ce script dans le shell, attendez quelques instants et tout le code sera sauvegardé dans notre référentiel GIT.
backup
La mise en œuvre du formulaire est relativement simple. Nous importerons notre formulaire, ajouterons un gestionnaire de requête de post à la vue et enregistrerons le message dans la base de données avant de rediriger vers la même vue. Nous pouvons utiliser la fonction de redirection que nous avons déjà importée, et une autre fonction appelée Reverse pour obtenir l'URL du modèle de vue. Nous interrogerons cela avec la chaîne «Feed: Feed» parce que l'espace de noms du motif inclus est un flux, et la vue est également appelée alimentation.
from feed.forms import PostForm
def feed(request):
posts = Post.objects.all() # Interrogez tous les messages de la base de données jusqu'à présent
if request.method == 'POST': # Gérer la demande de poste
form = PostForm(request.POST) # Créer une instance du formulaire et enregistrer les données
if form.is_valid(): # Valider le formulaire
form.save() # Enregistrer le nouvel objet
return redirect(reverse('feed:feed')) # Rediriger vers la même URL avec une demande de GET
return render(request, 'feed/feed.html', {
'form': PostForm(), # Assurez-vous de passer le formulaire dans le contexte afin que nous puissions le rendre.
'posts': posts,
})
Maintenant, nous devons mettre à jour le modèle pour tenir compte du nouveau formulaire. Nous pouvons le faire en utilisant le
https://glamgirlx.com/fr/practical-web-based-deep
https://glamgirlx.com/fr/practical-web-based-deep -
Laissez-moi un pourboire dans Bitcoin en utilisant cette adresse: 3KhDWoSve2N627RiW8grj6XrsoPT7d6qyE
© Glam Girl X 2025