Практическое веб-обучение и безопасность на примере

К Daisy
Практическое веб -глубокое обучение и безопасность по примеру Третье издание Шарлотта Харпер 3 июля 2024 года Предисловие: Соображения безопасности в создании программного обеспечения для Интернета являются важной частью плана и выполнения любого веб -разработчика, в то время как создание прототипа, который является надежным, стабильным и полезным для практических целей. Dom (Markup объекта документа), с его реализацией HTML, JavaScript и CSS, а также бэкэнд -программного обеспечения, внедряющего Python, C/C ++, Java и Bash, дают веб -разработчикам свободу и силу для создания широкого спектра проектов, которые выражают экспресс. Творчество, обеспечивают простоту использования и функциональность, изображают смирение и характер, а также обеспечивают простоту использования, а также удобство и важные услуги, которые привлекательны для среднего Джо, конечный пользователь хочет убить время или сделайте что -нибудь в Интернете, обычно на смартфоне с сенсорным экраном. Большинство людей даже не знали бы, с чего начать, когда они захотят построить веб -сайт сПоцарапайте, они склонны начинать с веб -сайта другого человека и создавать что -то ограниченное в функциональности, надежности, простоте использования и особенно творчества, когда они могли иметь все последние мощные инструменты в их распоряжении, чтобы создать что -то полезное, не теряя времени нажатия кнопок , и особенно впустую деньги, платя на дорогие подписки на программное обеспечение, которое мало кто хотел использовать, учитывая его ограничения в простоте использования и гибкости. Если у вас есть несколько минут, чтобы прочитать эту книгу и узнать, чему я хочу научить вас, или даже лично поговорить со мной о своих целях и получить некоторое руководство в правильном направлении, и вы мотивированы научиться кодировать и писать собственное программное обеспечение , возьмите эту книгу домой и отложите некоторое время, чтобы научиться создавать следующее влиятельное, мощное, оптимизированное и важное веб -приложение, веб -сайт, который все на вас и делает именно то, что вы хотите, и удовлетворяет потребности вашей аудитории. Обо мне: Я разработчик программного обеспечения сДиапазон опыта в C/C ++, Java, Python, HTML, CSS и JavaScript. Я строю веб -сайты, которые люди хотят использовать, хотят посетить и даже пристраститься к использованию просто для изучения, воссоздания и убивать время, и, что самое важное, я продаю программное обеспечение. Если у вас была идея относительно того, как именно вы хотели, чтобы веб -сайт выглядел и функционировал, вы были готовы поддержать меня, чтобы я мог удовлетворить свои собственные потребности, пока я удовлетворяю ваши, и вы готовы покрыть расходы на запуск веб -сайта, Я бы построил вам следующее YouTube, Tiktok, Twitter, Google или даже высокотехнологичное приложение безопасности, которое только вы можете получить. Вместо того, чтобы пытаться продать вам свое время, я пытаюсь купить ваше: я хочу рассказать вам о создании приложения (веб -сайт) с информацией, которая уже существует, и научить вас тому, что вам нужно, чтобы стать независимым разработчиком программного обеспечения, Предприниматель, возглавляя успешную карьеру в любой области, которую вы желаете. И позвольте мне прояснить, что образование, которое я вам даю, будет неформальным. Вы можете пойти в школу и узнать все это с помощьюФормальное образование, или даже прочитайте эту книгу в школе, выполните свои задания и заберу из вашего образования, но я официально не поставлю вас в горячее место и попрошу вас выполнить задания. Я не ваш профессор, вы можете думать обо мне, как о другом, который хочет направить вас к карьере, обусловленной вашим личным успехом. И я не продаю вам успех, вам нужно будет купить его со своим временем. Обучение коду имеет крутую кривую обучения и никогда не было легким или даже предполагалось. Вам нужно работать настолько усердно, насколько это возможно, и продолжать пытаться потерпеть неудачу и повторить попытку, даже когда вы разочарованы, чтобы учиться и создавать приложения самостоятельно. Это в природе самого кода. Код запускается компилятором, который предназначен для предоставления сообщений об ошибках программиста, и они научат вас, как кодировать, даже если вы просто копируете ошибку в свою поисковую систему и читаете примеры других людей. И я должен сказать, вам не нужно быть чрезвычайно богатым, умным,Expul, или даже детализация, ориентированные или организованные для создания приложения. Компьютер заботится об этой организации для вас. Вам просто нужно продолжить пробную версию и ошибки, поддерживать фокус и усердно работать над тем, что вы делаете, и у вас будет очень успешная карьера в целом, что вы делаете. Кто я: Я понимаю, что последний раздел был больше о обучении и вы, как вы берете на себя, из этой книги. Кто я именно? Это сложный вопрос. Я сам неясен, так как я страдаю от заболеваний, которые могут затруднить мне даже кодировать или писать эту книгу, в то же время представляя проблемы с проблемами социализации и идентичности, которые затрудняют мою жизнь, когда дело доходит до представления себя Полем Короче говоря, если вы читаете эту книгу, вы принесли ее домой, потому что вы пропустили ее и подумали, что это было полезно, или даже если вы просто читаете это далеко, для вас я похожий на единомышленник, который хочет видеть, что вы добились успеха в все, что вы делаете. Я сам инженер,Разработчик и студент, и я пишу эту книгу для других студентов, которые хотят облегчить свою жизнь, получив справочник по программному обеспечению, в котором им нужно упростить их жизнь, приводя примеры для копирования, которые соединяются, как большая головоломка в работу , полезное, большое, функциональное, сплоченное и привлекательное приложение, которое может добиться успеха независимо от линии бизнеса. Во многом это то, что я делаю: я строю приложения, чтобы помочь себе и другим людям добиться успеха. Я также автор, хотя это моя первая публикация, которую я намерен завершить, чтобы собрать свое портфель в полезный документ, и я тоже художник. Я признаю это вам, я своего рода странный человек. Я не идеален, у меня были законы, даже заставляя меня покинуть колледжи и университеты и покинуть штаты, чтобы попытаться сделать себе имя с большим успехом. Я женщина по рождению, я ношу макияж, фотографирую себя, ношу платья и другую женскую одежду, и я остаюсь осознавать себя какЖенщина по своей природе. В прошлом у меня были проблемы с другими людьми, которые привели к борьбе с написанием и созданием веб -приложений, и я прошу прощения, что я не смог получить эту книгу раньше в руках: вам это нужно. Вы захотите прочитать и написать код, который выглядит как мой и работает как мой, и делает то же самое, но даже лучше, потому что, если вы можете позволить себе купить эту книгу вместо того, чтобы сбивать с клавиатуру, как я, просто чтобы создать книгу самостоятельно спрашивать деньги Для этого у вас есть ресурсы, необходимые для достижения успеха в вашей жизни. У меня были всевозможные проблемы с семью, растущей, состояния здоровья, врачей, СМИ и закона, и мой кодекс глубоко отражает борьбу, которая является феминизмом и женской природой в разделенном и разочарованном мире. Тем не менее, эта книга - это то, о чем меня глубоко заботятся, моего ребенка, моего портфолио и моего средства к существованию, поэтому я ценю ваше внимание, когда вы забираете текст домой и тщательно разбираются в нем, чтобы учиться у меня. Пожалуйста, имейте в виду, что я неИ. Кроме того, поймите, что я имею в виду хорошо для вас, даже когда вы сталкиваетесь с проблемами при написании. Подумайте об этом так: когда вы можете просто арендовать компьютерную систему, чтобы сделать все, что вы можете себе представить в цифровом пространстве, хранить всю информацию, с которой вы сталкиваетесь, #$%! YZE и организовать ее, и вы понимаете, вы будете Неизбежно сталкивается с трудностями с информацией, которую вы принимаете и даже публикуете. Я говорю вам об этом, потому что я сталкиваюсь с теми же трудностями. Используйте эту книгу на свой страх и риск, работайте с вашим сообществом и сообществами, доступными для создания программного обеспечения в безопасной обстановке, и не берите вещи лично, когда вы потерпите неудачу или даже не практически справляетесь: вот как я ушел так далеко и почему я могу принести вам этот текст и помочь вам добиться успеха, не расходясь на пути безумияAves Me разрушил, разорванную и потерпевшим неудачу, когда я сталкиваюсь с обычными проблемами, которые все делают в глобальном масштабе благодаря паралеллистическому глобальному масштабу сети, над которой мы будем работать, Интернет. Возможно, вы не очень хорошо знакомы с тем, кто я есть с несколькими словами, но я призываю вас читать дальше, вы познакомитесь со мной, продолжая читать и понимать меня, создавая свои собственные проекты, чтобы завершить свою работу. В этой книге не будет домашней работы, если ваши профессора или учителя не назначают вас, но я настоятельно рекомендую вам создать портфель проектов самостоятельно, как вы читаете, а также проект Capstone, демонстрирующий, как вы можете Примените то, что вы узнали. Мой проект Capstone является основой для большей части того, что вы прочтете в этой книге, поскольку он включает код из моих предыдущих проектов, код, который я создал и научился писать методически вручную, и широкий спектр идей и советов, которые мне помогли преуспеть до такой степени, что я могу раскрутить простое приложение, котороеПолностью представлен и выглядит и ведет себя как популярное приложение, которое вы можете видеть, что ваш друг или семья использует, в Интернете, рекламируется вам или в новостях. Что это за книга: Эта книга является учебником по примеру. Вы можете найти код здесь, инструкции о том, как научиться кодировать, информацию о коде отладки и исправления ошибок, устранения неполадок, инструкции о том, как сделать резервное копирование и сохранить код, повторно развернуть, если кто-то нарушает ваш код, защищает код, разверните Ваш код, создание интерактивных веб -сайтов, которые интересны, привлекают и вызывают привыкание, и вы поймете, кто я, почему это важно и как изобразить себя, свое приложение и имидж компании, а также Программное обеспечение, которое вы создаете в абсолютном лучшем свете, чтобы быть наиболее привлекательным для ваших конечных пользователей, посетителей вашего сайта. В этой книге я продемонстрирую ряд примеров дизайна программного обеспечения с акцентом на Интернет как на платформе, так и безопасности. Мы инициируем опыт обучения, создав базовыйВыберите, используя оболочку UNIX, с функциями резервного копирования и сценариев. Затем мы рассмотрим базовый веб -сайт блога, обновите наш блог с помощью функций фото и видео, а также используем эти функции для использования решений безопасности с использованием бесплатного программного обеспечения, а также обеспечить наш сервер, используя модуль подключаемой аутентификации (PAM). Затем мы рассмотрим обработку и обработку файлов, изучение редактирования видео, пожертвования голоса, сканирования штрих -кода и распознавания оптических символов, среди других концепций. По пути мы рассмотрим API, которые помогут нам сделать наше программное обеспечение более полезным и безопасным, с бесплатными и оплачиваемыми вариантами. Попутно мы рассмотрим физическую безопасность и инструменты воинствующих, такие как огнестрельное оружие и проектирование боеприпасов и производство, включая дизайн ствола и ретранслятора, дизайн башни и беспилотников, и другие принципы, которые мы будем интегрироваться с нашим программным обеспечением в существующей сети, чтобы защитить наше программное обеспечение. и продемонстрировать самооборону и разрешение. Мы сделаем перерывы по пути, чтобы построить игры, 2D и 3DЭнджепирование двигателей и работа со встроенным аппаратным обеспечением в примерах из тематического исследования основного программного обеспечения для рендеринга и электронного вибрирующего массажа, отлитого в силиконовом резине соответственно. Попутно мы также будем использовать решения для машинного обучения, уже доступные, чтобы лучше обеспечить наше программное обеспечение. Мы также будем использовать акционерные инструменты, доступные для Интернета, чтобы оптимизировать и обеспечить процесс. Эта книга представляет собой руководство по вашему успеху в создании веб -приложения и интеграции его с профессиональной сетью компьютерных и встроенных механических систем, а также в целом руководство по созданию программного обеспечения и встроенного оборудования без правого знания или предыдущего опыта. Чем нет этой книги: Если вы действительно хотите иметь веб -сайт, вы можете просто настроить простой магазин и продать то, что вам нужно, опубликовать блог, публиковать фотографии или видео или иным образом, никогда не записывая ни одну строку кода. Эта книга это не так. Эта книга научит вас создавать программное обеспечение, которое является более полезным, полностьюПоказанный, функциональный и безопасный, чем любое программное обеспечение, которое вы уже можете найти, потому что оно развертывает новейшее программное обеспечение, которое все еще является прототипами, может быть дорогостоящим для работы в масштабных работах пожилых компаний, и не привлекает обратных, запутанных компаний, созданных в Зарабатывайте деньги для людей, которые на самом деле ничего не делают. Если вы внимательно следите за этой книгой, вы захотите написать код, код исследования, создать свои собственные приложения, и вы заработаете деньги на то, что вы делаете. Я заработаю деньги на этой книге, даже на ранних этапах, потому что она содержит информацию, которую люди нуждаются и хотят читать, и уже покупают, когда покупают или используют мои приложения. Эта книга не будет создавать для вас приложение, но она укажет вам в правильном направлении и вооружает вас необходимыми инструментами, а также навыками и советами, которые будут способствовать вашему собственному успеху в создании программного обеспечения для Интернета, при каждой линии Код, который вам нужно будет написать в качестве примера, готовый к сочетанию в программное обеспечение, которые вы и ваши сторонники, гости, клиентуру,Рендс, семья, посетители, подрядчики и жители Интернета хотят использовать и поддержать. Чему вы узнаете: Эта книга научит вас, как создавать и продавать программное обеспечение, действительно функциональное, полезное программное обеспечение, запись медиа, функции безопасности, такие как распознавание лиц, сканирование штрих -кодов в зоне машины, веб -API для аутентификации, записи и визуализации видео и фотографий, а также обмена сообщениями, такими как Bluetooth и связь с полевым (NFC). Эта книга научит вас, как использовать сетевой компьютер, сосредоточившись на Debian Linux, как создать код Bash для установки и резервного копирования вашего программного обеспечения бесшовным, автоматизированным бризом, как создать код Python в качестве бэкэнда для обслуживания динамических сообщений, стиля Вещи хорошо используют стили CSS с Bootstrap, включите вход пользователей и интерактивность через сетевые устройства, создайте интерактивные носители и сеть с другими веб -сайтами, чтобы предложить функции безопасности, такие как текстовые сообщения для проверки или другого Цели, идентификационное сканирование, модерация изображений и видео, данныеРанзации, чтобы сохранить ваше программное обеспечение безопасным, обработка платежей, торговлю криптовалютой, асинхронные задачи и многое другое. Вы узнаете, как построить свои собственные устройства Bluetooth, с батареями, зарядными устройствами, микроконтроллерами, схемами, двигателями и датчиками, с использованием припоя, проволоки и 3D, а также литых материалов. Я продемонстрирую 3D -принципы, применяемые к аддитивному производству и изготовлению инструментов и матрице, поэтому вы можете производить свои собственные встроенные аппаратные устройства со встроенными батареями, зарядными устройствами, электронными схемами и функциональными выходами. и пообщаться с ними с Bluetooth и Интернетом. В частности, мы рассмотрим два тематических исследования, вибрирующий массажер и домашнее огнестрельное оружие, оба запрограммированы в OpenScad, который доступен в виде графического интерфейса или утилиты командной строки и может быть интегрирована в сеть для более быстрых результатов. Вы узнаете, как создавать и развернуть веб -сайт с нуля без предварительного опыта, сделать его функциональным, безопасным, красивым, полезным и большинствоммногозначально практично. Вы узнаете, как использовать машинное обучение и компьютерное зрение, чтобы сделать сайт безопасным и более практичным, записывать видео и аудио с вашего сайта, пожертвовать свой голос, создавать музыку и модулировать аудио для создания полезных образцов и как прорвать шум Используя другие веб -сайты для создания наилучшей возможной сети веб -сайтов, которые вы можете ссылаться непосредственно на ваши, чтобы поделиться всей полезной информацией, которую вы можете предложить, и, что более важно, привлечь людей к вашему программному обеспечению и бизнесу. Эта книга будет больше всего сосредоточена на медиа, безопасности и машинном обучении, которые представляют собой основные три компонента, которые помогут вам создать полезное программное обеспечение для Интернета, привлекая правильных пользователей и отключив неправильные, как реалистично, практическое, практическое, практическое Руки и увлекательные, но и автоматические и крепкие. Эта книга учит Unix, в частности Debian (Ubuntu), Bash Shell, Python, HTML, CSS, JavaScript и ряд полезных программных пакетов дляНравится запросы, а также полезное программное обеспечение для Bash, такое как GIT и FFMPEG. Я также научу вас, как автоматически обменять криптовалюту, и принимать платежи по криптовалюте или на обычных дебетовых картах, даже выплачивая вашим посетителям долю вашего дохода, если вы решите это сделать. Я научу вас, как заработать деньги с вашего веб -сайта и через рекламу, как подготовить ваше приложение для поисковых систем и сделать его быстро, в первом рейтинге по тому, что ваши клиенты будут искать вас, и рейтинг во многих обычных ищет как можно больше. Я научу вас, как продавать ваше программное обеспечение, рекламировать его, обращаться к клиентам, ищущим ваши услуги, и сделаю себе имя в Интернете через возможности, которые уже существуют, являются недорогими и хорошо работают. Я научу вас, как сохранить ваши данные на облачных компьютерах, которые работают на вас, и дешево сохранить ваши данные, как планировать и создать веб -сайт, который делает то, что хотят ваши пользователи и что вы хотите, и как держать ваших пользователейНажмите на ваш сайт, нажмите на свои телефоны уведомлениями, электронной почтой, текстовыми сообщениями, телефонными звонками и большим количеством возможностей, чтобы вернуть ваших пользователей на ваш веб -сайт в вашем распоряжении за щелчком кнопки, защищенной для вас. Эта книга будет сосредоточена на практичности публикации и распространения медиа в больших количествах, от текста до фотографий до видео до аудио, создание хорошего впечатления на конечных пользователей (ваши клиентуру) и продавать себя любым способом, чтобы сделать, чтобы создать Веб -сайт, приложение, которое является представителем вас и только вас, и делает вас, ваше программное обеспечение и ваша компания хорошо выглядят как можно лучше. Вы также узнаете от меня несколько советов и рекомендаций: от советов по кодированию, практического тщеславия, таких как макияж и фотография, моделирование и актерское мастерство, и многое другое, что будет важно для изображения себя и свою компанию в наилучшем свете, используя все доступные инструменты Для вас при распределении столько контента, сколько вам нужно по здоровому балансу платформ, чтобы принести вашиE, чтобы реализоваться без больших усилий, работы или денег, чем необходимо. Эта книга называется «Практическое веб -глубокое обучение и безопасность по примеру» по какой -то причине: она имеет дело с обучением для кода, в частности для Интернета, в частности, с акцентом на безопасность, с практической точки зрения, с примерами рабочего кода, который служит Практические цели, изложенные в тексте. Компонент обучения этого текста также включает в себя машинное обучение, код, который я покажу вам, как работать в Интернете, который будет обрабатывать компьютерное зрение, распознавание лица, модерацию изображений и видео, улучшение изображений, улучшение разрешения, подписание изображений и другие задачи, такие как Метрики прогнозирования, полученные из изображений, таких как природа изображения в качестве подлинного, передаваемого компьютером изображением или оптической копии (фотография изображения или напечатанного фото). Машинное обучение очень важно, когда речь заходит о безопасности веб -безопасности и безопасности программного обеспечения, потому что оно может выполнять задачи, которые в противном случае были невозможны. Ваш компьютерВойдите в систему с помощью пароля, но это может быть безопаснее использовать его, если он входит в вас в систему с вашим лицом. Вы можете сделать серверный компьютер таким безопасным, компьютером, который обычно просит вас об этом имени пользователя и пароля и вошел в систему, возможно, с токеном подтверждения для каждого нового входа в систему или нового IP -адреса, но если вы создаете крупномасштабные, легко в Использовать, принципиально безопасное и мощное программное обеспечение, этого может быть достаточно. Случай вашего программного обеспечения слишком близко к чьему -либо другому программному обеспечению, например, службы электронной почты или службы текстовых сообщений, недостаточно, чтобы сделать ваше программное обеспечение безопасным или любом (любой сайт, который вы используете). Любой, кто строит программное обеспечение, которое безупречно безопасно, имеет некоторое представление о том, что это подразумевает. Программное обеспечение по своей сути небезопасно, потому что устройства и учетные записи, которые мы используем для доступа к нему, не всегда находятся в нашем распоряжении, они могут находиться в руках любого, кто страдает от программного обеспечения и, следовательно, может представлять риск для самого программного обеспечения. Это что -то в центре внимания этой книги. Сетевой компьютер по умолчаниюЗакреплен с помощью длинного токена ключа, называемого и SSH или защищенного ключа оболочки, и в остальном лучше всего защищен с помощью веб -сервера, поскольку веб -сервер предоставляет открытый доступ, а также современные инструменты безопасности, работающие на самом сервере. Веб -сервер имеет доступ к веб -браузеру пользователя, который, возможно, является самой мощной частью устройства пользователя, потому что это место, где пользователь может получить доступ к сетевому программному обеспечению. Этот инструментарий может отображать текст, веб -страницы, которые вы видите, а также могут записывать изображения, аудио и видео (например, фотография лица или идентификатора состояния), могут читать и писать на радиоустройства Bluetooth и могут читать и писать в ближнем поле Теги Transponder, недорогие карты ключей, FOBS, наклейки, кольца и даже чип -имплантаты с уникальными последовательными номерами, которые можно прочитать и записать с данными, сгенерированными и подтвержденными веб -сервером, привязанным к веб -сайту. Используя все инструменты в вашем распоряжении, с этой книгой вы дадите себе знания, чтобы создать безопасный веб -сайт и в целомКомпьютерная система URE, которая работает на вас, выполняет ваши торги, выглядит и кажется правильной. С чего начать: Вы можете пропустить мимо раздела, с которой я начинаю эту книгу, или в любом разделе, к точному коду, особенно если у вас есть опыт работы с кодированием или любым из вышеупомянутых инструментов, которые я буду подробно описать в этой книге как а также документирование вариантов использования и практических примеров их. Если у вас нет опыта в написании кода, я настоятельно рекомендую вам прочитать всю эту книгу, и особенно рекомендую прочитать предыдущие разделы, чтобы убедиться, что эта книга подходит для вас. Если эта книга не подходит для вас, подумайте о том, чтобы подарить его другу или родственнику, которые могут быть заинтересованы в том, чтобы узнать о веб -развитии сами и даже подумайте о том, чтобы занять его обратно и учиться у них, чтобы заполнить пробелы, где я подвел вас как Учитель или другие учителя сделали передо мной. Начните там, где вы будете, каждая часть этой книги будет полезна, если вы собираетесь построить полезныйPP, и считайте, что лучшие приложения создаются с учетом конечного пользователя: знайте своего клиента. Теперь вы знаете меня, вы знаете эту книгу, и вы готовы начать. Для начала возьмите компьютер (даже самый дешевый ноутбук из магазина коробки, Amazon или старый рабочий стол, и установите его так, чтобы это работало для вас. Как прочитать эту книгу: Текст выделен, обозначает, что текст принадлежит в командной строке, где вы напишите код, который вы запускаете. Командная строка в значительной степени ориентирована на клавиатуру и практически не требует щелчка, ускоряя ваш рабочий процесс и облегчает вам ситуацию. Начиная: Давайте погрузимся. Мы начнем с создания кода на локальной машине и начнем без создания веб -сайта, подключенного к Интернету. Это безопаснее начать, ничего не стоит, и вам легко. В зависимости от вашей операционной системы, попадание в оболочку Bash будет немного другим. Для Mac OS я рекомендую установить виртуальную машину в этот момент, так как вы получите наибольшую совместимость свиртуальная машина. Различные поставщики, такие как VirtualBox и Paralells, могут запускать для вас виртуальную машину, хотя также можно установить Ubuntu непосредственно на машину, если вы предпочитаете использовать собственную среду, которая рекомендуется для создания быстрого, упорядоченного опыта. Если вы используете Linux или Windows, которые я рекомендую, это должно быть довольно легко создать проект. Откройте свой терминал, отрегулируйте размеры по мере того, как вы видите, и начните с следующим шагом 2. Если вы используете Windows, следуйте шагу 1. Шаг 1: - Только пользователи Windows В Windows, откройте командную строку в качестве администратора и введите WSL –Install Шаг 2: - Продолжайте здесь или пропустите шаг 1 к здесь, если вы не используете Windows В открытом терминале (в зависимости от вашей ОС, называемой Ubuntu в Windows, терминале в Mac или Linux или аналогичном имени), начните с создания проекта. Мы делаем это с командой MKDIR, которая создает каталог. Если вам нужно создать каталог для хранения вашего проекта, который рекомендуется, используйтеКоманда CD для перехода на каталог и и CD/PATH/TO/Directory - Путь - это папки (файлы), которые предшествуют вашему каталогу назначения, ваш путь по умолчанию - ~ или/home/username (где имя пользователя является вашим именем пользователя). Чтобы перейти на каталог по умолчанию, введите CD или CD ~ Пример MKDIR - замените «пример» на имя каталога Теперь у вас есть рабочий каталог для вашего проекта. Будучи так важно, чтобы этот каталог сохранил, если вам нужно переключиться на другую машину или развернуть код, который вы пишете, чтобы он был готов к Интернету, мы создадим скрипт для резервного копирования вашего каталога в следующих нескольких шагах. Но создание сценария требует немного кода, и код должен быть автоматизирован, чтобы быть максимально полезным. Итак, давайте сначала построим сценарий для строительства сценариев. Давайте начнем с создания сценария и сделаем его исполняемым файлом. Мы будем использовать Sudo, CHMOD и прикоснуться к этому, и вызовуте сценарий
sudo touch /usr/bin/ascript
sudo chmod a+x /usr/bin/ascript
sudo nano /usr/bin/ascript
Теперь мы создали сценарий, сделали его исполняемым файлом и готовы его редактировать. Nano - это текстовый редактор, который позволит вам редактировать текст без щелчка, что намного проще, чем использование графического интерфейса пользователя. Чтобы отредактировать файл с помощью Nano, используйте NANO, а затем путь к файлу. Чтобы сделать сценарий, который делает сценарий, он довольно похож на создание нашего сценария. Мы будем использовать тот же код, что и выше, заменив имя сценария «Ascript» параметром аргумента, 1 доллар. Это позволяет нам позвонить в скрипт, набрав просто Newscript Sudo Ascript, и в этот момент мы можем создать любой новый сценарий, заменив «Newscript» на имя вашего сценария. Код в Нано должен выглядеть так:
sudo touch /usr/bin/$1
sudo chmod a+x /usr/bin/$1
sudo nano /usr/bin/$1
И чтобы закрыть Nano, мы можем удерживать клавишу управления и нажать X, затем y, чтобы обозначить, что мы сохраняем файл и нажимать возврат. Теперь вместо того, чтобы вводить эти три команды для редактирования сценария, мы сможем напечатать Ascript Sudo Ascript, чтобы снова редактировать скрипт. Это работает! И любой новый сценарий можно легко запустить, позвонив в оболочку. Давайте сохраним нашу работу сейчас: давайте напишем резервный сценарий, чтобы сохранить наш новый сценарий, а затем вернуть его в нашем каталоге проектов, а также резервным образом подтвердим сценарий резервного копирования.
sudo ascript backup
Теперь в Нано:
sudo cp /usr/bin/backup /path/to/directory/
sudo cp /usr/bin/ascript /path/to/directory/
Где/path/to/directory - это путь к проекту, который вы создали с Mkdir. Позже мы узнаем, как копировать такие пути повторения, как это с помощью цикла и списка, который меньше кода, но сейчас давайте будем держать его простыми и иметь несколько строк. Чтобы запустить этот скрипт и резервное копирование кода, сохраните файл в Nano с Control+X, Y и верните, и введите ниже
backup
Если вам вообще предложено пароль во время чтения этой книги и следите за оболочкой, пожалуйста, введите пароль пользователя правильно, у вас будет три попытки, прежде чем вам понадобится повторный разряд команды. Вы можете использовать стрелки вверх и вниз, чтобы повторно затронуть команды и отредактировать их, если вам нужно что -нибудь запустить что -либо дважды. Просто нажимайте вверх и вниз периодически, чтобы выбрать команду, перед редактированием команды правыми, стрелками влево и клавиши удаления, а также клавиатуру, и запустить ее с возвратом.
Поздравляю! Вам удалось создать потрясающий сценарий резервного копирования, который поддерживает два важных сценария оболочки в вашем рабочем каталоге. Мы могли бы перемещать вещи позже, так как проект становится больше, но сейчас это работает. Давайте перейдем к резервным копированию в облаке, мы будем использовать GitHub для этого (хотя есть много других решений GIT для резервного копирования, они примерно одинаково.) GIT - это программное обеспечение для управления Veris программное обеспечение, когда вы делаете их на сервере, в то время какТакже позволит вам загрузить целые копии вашего программного обеспечения за паролем или ключом. Это способствует сохранению вашего программного обеспечения, тем более что мы перемещаемся на защитные экземпляры Linux, которые иногда ломаются, когда одна строка кода не стерла, оставляя вас заблокированным, пока ваш код не может быть резервным, если у вас нет возможности поддержать его автоматически, что мы рассмотрим.
Если вы еще не используете виртуальную машину Ubuntu на этом этапе, я рекомендую использовать виртуальную машину Ubuntu на данный момент, потому что она облегчит вашу жизнь при установке всех необходимых пакетов для создания рабочего веб -сайта и преформировать глубокое обучение операции на вашем компьютере. В ближайшем будущем мы перенесем код на веб -сервер, но мы хотим убедиться, что за нашим веб -сервером есть как минимум несколько уровней безопасности этот. Если вы все еще хотите использовать Mac OS, вы можете искать и установить и установитьEneful Packages Online, но не может быть альтернативы для каждого пакета, который будет охватывать эту книгу или сериал.
Давайте добавим несколько команд, чтобы выполнить нашу работу с помощью сценария резервного копирования, запустив команду Sudo Ascript
# …
git add –all
git commit -m “backup”
git push -u origin master
Еще раз контроль X, чтобы сохранить.
Теперь нам нужно сделать некоторую конфигурацию для этого проекта. Поскольку вскоре это будет проект GIT, нам не нужно печатать каждую команду каждый раз, когда мы развертываем из репозитория GIT, но мы узнаем об этом, когда пишем наши сценарии развертывания. Для начала давайте убедимся, что мы находимся в правильном каталоге, инициализируем репозиторий GIT и генерируем ключи SSH.
cd /path/to/directory
git init
git branch -m master
ssh-keygen
После того, как мы набираем SSH-KeyGen, новый ключ должен быть сохранен в домашней папке под папкой, называемой .ssh. Это называется id_rsa.pub. Давайте найдем этот ключ и скопируем его. Чтобы увидеть это,
cd ~
cat .ssh/id_rsa.pub
Скопируйте текст, который возвращается последней командой, и создайте учетную запись с вашим поставщиком GIT (в идеале GitHub), прежде чем добавить ключ SSH в вашу учетную запись. После того, как у вас есть учетная запись, щелкните верхнее правое меню и введите настройки, прежде чем добавить ключ SSH в клавиши SSH и GPG под доступом в меню. Выберите добавить ключ SSH и добавить свой, вставив его и дав ему заголовок, прежде чем сохранить и вернуться в GitHub, чтобы создать новый репозиторий. Это похоже на других поставщиков GIT, вам нужно будет прочитать их документацию. В новой конфигурации репозитория дайте вашему репозиторию описательное имя и решите, хотите ли вы его опубликовать, и убедитесь, что пока не настроите файлы для включения. Как только репозиторий создается, скопируйте клон с помощью SSH URL и вставьте его в следующую команду.
git remote add git://… (your remote URL)
Теперь вы можете вернуться в свой репозиторий с CD, вы будете знакомы с этим. Попробуйте свой сценарий резервного копирования сейчас с резервной копией
Большой! Теперь мы действительно можем получить кодирование. Давайте установим Django теперь, когда мы хорошо понимаем Bash and Git. Django позволит нам автоматически резервное копирование нашего программного обеспечения, Bash может сделать это тоже, но у Django должна быть более безопасная реализация (его можно отключить и настроить легче).
Чтобы установить программное обеспечение в Ubuntu, мы будем использовать команду Sudo Apt-Get. Во -первых, давайте обновим и обновим программное обеспечение, которое у нас уже было. Это можно сделать с помощью обновления Sudo Apt-Get и обновления Sudo Apt-Get-Y. Далее, давайте установим Python и нашу виртуальную среду, дом нашего кода, со следующей командой: sudo apt-get установить python-is-python3 python3-venvv
Это все, что вам нужно, чтобы начать с Джанго с точки зрения установки программного обеспечения в экземпляре Ubuntu. Для Windows и Linux это должно быть довольно простым, но для Mac вы можете установить виртуальную машину иLinux на нем, используя бесплатную или платную виртуальную среду, такую как VirtualBox или Paralells Desktop, и воссоздайте вышеуказанные шаги, чтобы настроить среду Ubuntu. В этом случае Ubuntu имеет решающее значение, потому что это программное обеспечение, которое запускают веб -сайты, и позволяет им размещать веб -сайты со всем вышеупомянутым программным обеспечением.
Давайте копаем в Джанго.
В нашем каталоге снова, с
python -m venv venv # Создает виртуальную среду, в которой хранится код
source venv/bin/activate # Активирует виртуальную среду
pip install Django
django-admin startproject mysite . # Где MySite - это проект, который я начинаю в своем текущем каталоге.
Django только начинает нас, потому что Django размещает веб -сервер и делает все, что нам нужно, чтобы получить базовый локальный веб -сайт. Теперь, когда у нас установил Django, давайте немного отредактируем настройки, чтобы они работали так, как нам нужно. Во -первых, давайте создадим новое приложение
python manage.py startapp feed
Вы заметите, что первое приложение называется Feed. Приложение должно называться как бы вам понравилось, и мы создадим новые приложения, но имя каждого приложения должно быть последовательным каждый раз, когда приложение упоминается в коде. Чтобы добавить новое приложение, мы всегда будем отредактировать настройки. Используя Nano,
nano app/settings.py
В настройках найдите stasted_apps и разделяйте [] на 3 строки. Используя четыре пространства на пустой центральной линии, добавьте «подачу» или имя вашего приложения. Этот раздел настроек.
INSTALLED_APPS = [
'feed',
]
Прежде чем мы забудем, давайте проверим, что Джанго работает. Используя команду Python Manage.py Runserver 0.0.0.0:8000, мы можем запустить сервер, а затем перемещаться в веб -браузере на компьютере, запускающем код по адресу http: // localhost: 8000 и посмотреть пример веб -страницы (она работает!) Выйдите из сервера с помощью Control C, так же, как и любая другая команда.
Теперь давайте копаться в написании кода Python. У Джанго есть три основных компонента, все они выполняют код. Компоненты называются моделью, представлением и шаблоном, и каждый находится на более высоком и более низком уровне, соответственно, до того, как веб -страница будет доставлена пользователю.
Модель - это код, который хранит информацию в базе данных для поиска, сортировки и рендеринга.
В представлении решается, как модель отображается, манипулируется и модифицирована, почти каждый вид будет использовать модель напрямую.
Шаблон - это HTML -код с некоторыми дополнительными наворотами и свистами, называемыми языком шаблонов. Шаблон визуализируется представлением, где он заполнен кодом Python иКонтекст, такой как модели и информация (Usuall Strings и целые числа) из представления.
У Джанго тоже есть другие компоненты, включая, помимо прочего:
Настройки, которые настраивают приложение, как мы обсуждали.
URL -адреса, которые являются шаблонами, которые пользователь следует, чтобы получить доступ к определенным частям веб -приложения.
Формы, которые определяют, как информация, которая отправляется на сервер, обрабатывается и отображается в базу данных, а также с пользователем. Это основа информации о обработке на стороне сервера и могут принимать любую информацию, которую компьютер хранит, особенно текстовые строки, номера и True/False Booleans (обычно флажки).
Шаблоны, которые являются HTML -кодом и языком шаблонов и преодолевают разрыв между Python и HTML, что означает, что информация о Python может быть обслуживалась HTML -кодом, к которому можно получить доступ, и может получить веб -сайт с ограниченным доступом, в то же время делая код Python, доступным для Интернета и полезно Для различных целей на удаленном устройстве, которое неЭд должен быть рядом с сервером.
Статические файлы, которые обычно представляют собой JavaScript, и это библиотеки, которые обслуживают сервер и связаны с шаблоном.
Медиа -файлы, которые сервер обслуживает или размещено извне, или только что записано на сервер, прежде чем обрабатывать и отправлять на другой сервер (ведро) для хостинга.
Промежуточное программное обеспечение, которое представляет собой кусочки кода, которые запускаются одновременно с каждым представлением и считаются «включенными» в представлении.
Контекстные процессоры, которые обрабатывают контекст каждого представления и используются для добавления дополнительного контекста.
Тесты, которые подтверждают, что пользователь или запрос выполняют определенные требования до того, как представление будет отображаться.
Потребители, которые определяют, как веб -тока обрабатывают и реагируют на общение.
Администратор, который используется для регистрации моделей, чтобы их можно было подробно манипулировать на странице администратора Django, где базу данных можно вводить через графический интерфейс.
Сельдерей, который определяет асинхронные задачи части кода Джанго могут начатьНонн, прежде чем немедленно перейти к следующей задаче или строке кода.
У Джанго может быть много других компонентов, которые мы подробно обсудим здесь. Существует множество способов сделать Django более функциональным, добавляя WebSockets, которые представляют собой быстрые, оптимизированные каналы связи, сельдерей, которые выполняют асинхронные задачи и множество других частей программного обеспечения для расширения django, особенно в функциях представления, где большинство из Код выполнен. Функции просмотра являются ключевыми, потому что они обычно объявляют каждый фрагмент кода, специфичный для конкретного шаблона URL или раздела сервера.
Во -первых, давайте рассмотрим функции просмотра. Функции просмотра начинаются с обозначения кода импорта, который будет использоваться в представлении, и определяются с использованием регулярных определений функций или классов. Самые простые представления определяются определением функции и возвращают HTTPresponse с основным шаблоном. Давайте начнем с определения основного представления, чтобы вернуть текст «Привет, мир». Помните, что каждый раз, когда вы добавляетеСделайте оператор, как DEF, если, в то время как, для и т. Д., Вам нужно будет добавить 4 места для каждого из предыдущих определений, которые вы хотели бы применить к вашей функции. Мы пойдем в то, что каждый из них в ближайшее время значит.
Из каталога нашего сайта отредактируйте файл feed/views.py, используя Nano и добавьте следующие строки в конце
from django.http import HttpResponse
def hello(request):
return HttpResponse('hello world')
Httpresponse Django отвечает текстовой строкой, обозначенной открытием и закрытием ». Каждый раз, когда вы передаете информацию в функцию или класс, например, запрос или строку, вам нужно будет использовать скобку (открытие и закрытие).
Это еще не все, что нам нужно увидеть наше мнение. Конечно, мы не сказали серверу, где именно является представление, нам все равно нужно определить путь, по которому представление должно отображаться. Давайте начнем с определения базового пути в App/urls.py, и мы попадем в группы пути позже.
В App/urls.py добавьте строку после операторов импорта после начала импорта только что созданного представления.
from feed import views as feed_views
Теперь давайте определим шаблон представления. Паттерны просмотра имеют три компонента, компонент Path, который сообщает серверу, где представление существует на сервере (путь URL, который пользователь вводит в панель навигации для входа на веб -страницу), компонент представления, где указан представление, и Дружественное имя для представления, поэтому при работе с шаблоном легко получить его шаблон, особенно так, чтобы его имя можно изменить и обновить, если это необходимо, чтобы освободить место для другого представления или принять более логичное имя. Имеет смысл делать вещи таким образом и быть гибким, потому что ваша кодовая база будет постоянно меняющейся средой, которая нуждается в гибкости и импровизации, чтобы быть ценной и с ним простым в работе. Вот как будет выглядеть ваше представление, вы можете добавить это в urlpatterns = [раздел App/urls.py. Паттерн представления определяется тремя компонентами, описанными выше, и функцией, называемой пути. Ваши шаблоны URL - это список, поэтому обязательно заканчивайте каждый элемент в нихс запятой, потому что это отделяет каждый. Каждый элемент также должен перейти на новую линию, еще раз с четырьмя пробелами перед ним, как приложение в Sutess.py. Мы определим первый компонент представления с помощью пустой строковой функции, чтобы создать представление, которое работает в корневом каталоге веб -сервера. Ваш urls.py теперь должен выглядеть как
from feed import views as feed_views
urlpatterns = [
path('', feed_views.hello, name='hello'),
]
Это основа для создания веб -сайта с Django, который полностью статичен. Чтобы сделать более динамичный веб -сайт, на котором мы можем начать кэшировать информацию, такую как изображения, видео, аудио и многое другое, нам нужно будет использовать модели, которые мы рассмотрим дальше. На данный момент давайте проверим наш код и запустим сервер. Чтобы проверить код на предмет ошибок, запустите:
python manage.py check
Если есть какие -либо сообщения об ошибках, вам следует тщательно просмотреть изменения, которые вы внесли в свое приложение, и посмотреть, есть ли что -то, что нужно исправить, например, постороннее или не хватает места, дополнительный символ, неподготовленная строка, любая опечатка, любая случайно Удаленный характер или что -то еще. Читая сообщение об ошибке (если у вас есть), вы сможете увидеть путь к созданному вами файлу или отредактированию вместе с номером строки, поэтому посмотрите на этот файл и строку и посмотрите, сможете ли вы исправить что -нибудь, что есть Полем Если вы исправили проблему, запустите вышеуказанную команду снова. Когда ваше программное обеспечение будет готово к запуску и работает, вы увидите вывод «Проверка системы идентифицирована без проблем». Теперь ты готов к работе. Запустите сервер с помощью:
python manage.py runserver 0.0.0.0:8000
Теперь откройте веб -браузер и перейдите к http: // localhost: 8000. Вы должны увидеть текст, возвращенный в скобках и цитаты функции httpresponse в вашем представлении. Это всего лишь основной пример, но если вы сделали это так далеко, вы понимаете основы того, как работают Linux, Bash, Python и Django. Давайте углубимся в некоторое моделирование базы данных и изучим силу класса Python в хранении информации. Затем мы начнем захватывать HTML и CSS, прежде чем сделаем наш сайт полностью представленным, гибким и безопасным с помощью JavaScript и машинного обучения.
Занятия хранятся в моделях.py вашего приложения. Используя Nano, редактируйте app/models.py и добавьте новый класс. Класс определяется с определением класса и проходит суперкласс, от которого он наследует, в данном случае модели. Модель. Название класса поступает после определения класса, и после использования определения класса A: (Colon), прежде чем атрибуты и определения функций, связанные с классом, обозначены ниже. Наш классНужен идентификатор, который мы можем использовать, чтобы получить его и сохранить его уникальным, и ему также необходимо текстовое поле для хранения некоторой информации. Позже мы сможем добавить метку времени, файлы, логические (истинные или ложные определения, которые могут помочь нашему коду принимать решения о том, что делать с моделью, и могут использоваться для ее сортировки), экземпляр, чтобы связать модель с пользователем, вошли в систему в сервер и многое другое. Давайте распаковать код
from django.db import models # Импорт, который используется для определения нашего класса и его атрибутов
class Post(models.Model): # Определение нашего класса
id = models.AutoField(primary_key=True) # Идентификатор нашей модели, автоматически сгенерированного ключа, который позволит нам запросить модель, сохранить ее уникальной и полезно, когда нам нужно взаимодействовать с моделью после ее создания.
text = models.TextField(default='') # Атрибут нашего класса, в данном случае, какой -то текст, дефолт на пустую строку.
Закройте и сохраните файл, как мы делали раньше, чтобы закончить.
Есть много других областей и параметров, которые мы рассмотрим, когда обновляем этот класс по мере развития нашего приложения, но это основные необходимость создания приложения для публикации некоторого текста. Однако эта модель не будет работать в одиночку. Как описано ранее, нам понадобятся пользовательский вид и пользовательский шаблон URL -адреса, чтобы эта модель работала, и нам также понадобится форма вместе с шаблоном. Давайте сначала рассмотрим форму.
Чтобы определить форму, редактируйте App/Forms.py с помощью Nano и добавьте следующие строки. Нам понадобятся два импорта, наш класс форм, а также модель, которую мы создали (Feed.Models.post), определение класса, аналогичное модели, и поле вместе с подклассом, называемым Meta, который будет определять модель. Форма взаимодействует с. Форма также может иметь функцию инициализации, которая устанавливает ее на основе информации в запросе, модели или ином, мы рассмотрим это позже.
Модельные формы настолько полезны, потому что они могут создать модель или также редактировать модель,Таким образом, мы будем использовать их для обоих. Давайте определим один в forms.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',)
Это основы того, как выглядят форма и модель. Эта форма модели может использоваться для создания или редактирования поста, изменяя его текст. Мы рассмотрим интеграцию этой формы в вид. Во -первых, давайте сделаем миграции и перенесем базу данных, чтобы наш код мог взаимодействовать с моделью при запуске. Для этого запустите следующие команды:
python manage.py makemigrations
python manage.py migrate
Это займет минуту, чтобы выполнить, но как только это это произойдет, это позволит вам получить доступ к модели в представлениях, промежуточном программном обеспечении или где -либо еще в программном обеспечении. Давайте продолжим, увидим, где мы можем увидеть нашу модель. Редактировать Feed/views.py и добавьте следующий код, как отмечено. Вам не нужно что -либо добавлять после знака #, этот код - это комментарии, которые используются для обозначения информации о коде. Мы начнем с импорта нашей модели в представлениях и добавив ее в контекст, где мы можем отображать ее в шаблоне в качестве списка для отображения. Далее мы добавим шаблон, в котором мы можем отображать форму и модель с помощью кнопки для создания нового объекта на основе модели и разместить его на сервер. Это звучит сложно, так что давайте просто сделаем это шаг за шагом. Прежде чем мы закончим представление, давайте создадим шаблон, который просто отображает модель, и убедитесь, что мы можем увидеть его, создав новый пост в оболочке. Вот как должен выглядеть этот взгляд:
from feed.models import Post
from django.shortcuts import render, redirect
from django.urls import reverse
def feed(request):
posts = Post.objects.all() # Запросите все сообщения в базе данных до сих пор
return render(request, 'feed/feed.html', {
'posts': posts,
})
Все выглядит довольно просто, пока мы не дойдем до дна. Рендеринг, значение, возвращаемое функцией, а не в ответе HTTP, подобном предыдущему примеру, всегда принимает запрос в качестве первого ввода, принимает контекст (в данном случае посты в базе данных), который теперь можно отображать в шаблоне и возвращает шаблон, определенный в функции. Шаблон станет HTML -документом с небольшим языком под названием Jinja2, который делает информацию Python в HTML.
Чтобы начать создавать шаблоны, сделайте два каталога в подаче.
mkdir feed/templates
mkdir feed/templates/feed
Затем отредактируйте шаблон в каталоге выше, Feed/Semplates/Feed и добавьте код для этого примера. Давайте посмотрим на шаблон для этого примера.
<!doctype HTML>
<html>
<body>
<legend>Feed</legend>
<hr>
{% for post in posts %}
<p>{{ post.text }}</p>
{% endfor %}
</body>
</html>
Это очень простой шаблон. Он определяет открытие и закрытие HTML -тегов, тег типа документа, тег кузова с заголовком легенды, бир шаблон. Это все, что нужно для рендеринга, но в базе данных еще нет. Давайте создадим немного с оболочкой. Мы можем запустить оболочку с помощью mange.py
python manage.py shell
Теперь давайте импортируем нашу модель Post
from feed.models import Post
Затем мы создадим простой пост со строкой и выйдем из оболочки. Строка может быть чем угодно, пока это достоверный текст.
Post.objects.create(text='hello world')
exit()
Наконец, нам нужно будет добавить URL -шаблон в нашем каналов. Поскольку наше приложение Feed будет использовать несколько URL -адресов, и мы хотим сохранить размеры файлов небольшим, давайте создадим локальный urls.py в нашем приложении Feed, которое выглядит следующим образом:
from django.urls import path
from . import views
urlpatterns = [
path('', views.feed, name='feed'),
]
Нам также нужно будет отредактировать urls.py в базовом приложении, как бы мы ни называли его, это был первый каталог, который мы создали. Изменить app/app.py и добавить следующее в шаблоны URL -адреса
from django.urls import include # наверху
urlpatterns = [
# ... предыдущий код здесь
path('feed/', include(('feed.urls'), namespace='feed')),
]
Теперь, когда мы запускаем сервер с помощью Python Manage.py Runserver, мы увидим страницу, которую мы создали, потому что у нас есть модель, просмотр и шаблон, а также шаблон URL, а также элементы в базе данных. Далее, давайте внедрим форму, которую мы создали, и начнем создавать наши собственные посты. Но прежде чем мы напишем слишком много кода, давайте сделаем резервную копию, используя сценарий, который мы написали ранее, резервное копирование. Запустите этот сценарий в оболочке, подождите несколько мгновений, и весь код будет подкреплен в нашем репозитории GIT.
backup
Реализация формы относительно проста. Мы импортируем нашу форму, добавим обработчик запроса POST в представление и сохраняем сообщение в базе данных, прежде чем перенаправить в то же представление. Мы можем использовать функцию перенаправления, которую мы уже импортировали, и еще одну функцию, называемую реверс, чтобы получить URL для шаблона представления. Мы рассмотрим это с помощью строки «Feed: Feed», потому что пространство имен прилагаемого шаблона является подачей, а представление также называется Feed.
from feed.forms import PostForm
def feed(request):
posts = Post.objects.all() # Запросите все сообщения в базе данных до сих пор
if request.method == 'POST': # Обрабатывать запрос сообщения
form = PostForm(request.POST) # Создайте экземпляр формы и сохраните в нем данные
if form.is_valid(): # Проверить форму
form.save() # Сохранить новый объект
return redirect(reverse('feed:feed')) # Перенаправить на тот же URL -адрес с помощью запроса GET
return render(request, 'feed/feed.html', {
'form': PostForm(), # Обязательно передайте форму в контекст, чтобы мы могли ее представить.
'posts': posts,
})
Теперь нам нужно обновить шаблон для учета новой формы. Мы можем сделать это, используя
https://glamgirlx.com/ru/practical-web-based-deep
https://glamgirlx.com/ru/practical-web-based-deep -
Оставьте мне совет в биткойнах, используя этот адрес: 3KhDWoSve2N627RiW8grj6XrsoPT7d6qyE
© Glam Girl X 2025