Как создать свою сайт на python
Перейти к содержимому

Как создать свою сайт на python

  • автор:

Создание веб-сайта с помощью Python 5 мин для чтения

Pimp My Ride встречает Алана Уэйка в новой игре на выживание в автомобиле

Favorite

Добавить в избранное

Создание веб-сайта с помощью Python

Flask — это фреймворк для веб-разработки. В Python есть два модуля, которые можно использовать для веб-разработки: Django и Flask. Однако Flask более легкий и легкий в освоении. В этой статье мы создадим очень простой веб-сайт, используя модуль Python Flask.

Для начала устанавливаем Flask:

pip install flask

Шаг # 1: минимальное веб-приложение

Минимальное приложение можно найти по адресу https://flask.palletsprojects.com/en/2.0.x/quickstart/#a-minimal-application. Это веб-страница, на которой отображается «Hello World». Первым делом мы создали экземпляр Flask() с аргументом «__name__». Декоратор маршрута используется для того, чтобы сообщить Flask URL-адрес, который активирует написанную нами функцию.

from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "Hello World" if "__name__" == "__main__": app.run(debug=True)

Затем в терминале PyCharm введите следующее (где имя моего файла Python — main.py; в вашем случае замените main.py именем вашего файла Python):

set FLASK_APP=main.py $env:FLASK_APP = "main.py" flask run

Как только вы запустите «flask run», терминал выдаст URL-адрес с портом. Этот URL: PORT — это место, где загружается веб-страница. Вы всегда можете нажать Control+c, чтобы выйти. В нашем случае написано: «Запуск на http://127.0.0.1:5000/ (нажмите CTRL + C, чтобы выйти)». Итак, откройте свой веб-браузер, скопируйте и вставьте указанный URL. В моем случае мы скопировали и вставили «http://127.0.0.1:5000/». Также обратите внимание, что предыдущие строки должны запускаться каждый раз, когда вы перезапускаете PyCharm, чтобы он работал.

Шаг № 2: Добавление HTML

Первое, что вам нужно сделать, это открыть папку, в которой находится скрипт Python, и создать папку под названием «templates». Когда мы впервые запустили это, мы попытались указать имя «templates» в качестве имени папки, и вся программа вылетела и не работала. Поэтому обязательно назовите папку «templates». В этой папке «templates» создайте файл index.html с вашим HTML-кодом. Затем используйте render_template() и передайте index.html в качестве аргумента. Теперь, если вы запустите «flask run» в терминале, ваш HTML-код должен отобразиться:

Читать 4 различных способа построения веб-сайта

html-код (index.html) на данный момент выглядит следующим образом:

    Мое резюме   

Мое резюме Эта страница будет содержать мое резюме

И код файла Python (main.py) выглядит следующим образом:

from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template("index.html") if "__name__" == "__main__": app.run(debug=True)

Последний будет отображать простую HTML-страницу.

Шаг № 3: Добавление CSS

Теперь я хочу добавить CSS в свой HTML. Для этого создайте папку с именем «static» и создайте файл с именем «main.css». Здесь имя фактического файла CSS может быть любым. Мы решили назвать наш «main.css». Однако имя папки должно быть «static»! Фактически, в «static» папке можно разместить все, что является статическим, например CSS, JavaScript и изображения. Итак, если вы собираетесь размещать изображения, JavaScript и CSS, вы можете создать подпапки.

Сначала напишем нужный CSS (main.css):

body < margin:0; color: #333 font-family: verdana; font-size: 20px; background-color: rgb(201, 76, 76); >.styled

Здесь, в index.html, нам нужно написать >”> в заголовке HTML-файла. Здесь filename — это имя файла CSS (у нас main.css). Если, например, «main.css» находится с подпапкой «css», вы должны написать следующее:

После этого вы можете использовать созданный вами CSS. Например, мы создали один под названием «styled» и использовал его в классе h1.

Файл index.html будет следующим:

    Мое резюме >">  

Мое резюме Эта страница будет содержать мое резюме

Главный файл Python — main.py — остается прежним.

from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template("index.html") if "__name__" == "__main__": app.run(debug=True)

Шаг 4: Добавление изображения

Теперь давайте добавим изображение на созданную HTML-страницу! Для этого мы используем созданную нами папку «static». Внутри папки «static» мы создали другую папку под названием «images». В папке изображений мы поместили изображение. Теперь давайте добавим изображение в HTML-код следующим образом: . В этом случае мы установили высоту изображения 200, но вы можете изменить ее на все, что захотите, и добавить CSS, если хотите.

Читать Проверьте, содержит ли строка подстроку в Python

HTML-код будет выглядеть следующим образом:

    Мое резюме >">   

Мое резюме

Эта страница будет содержать мое резюме

В качестве альтернативы можно также использовать следующее:

.

В этом случае HTML-код будет выглядеть так:

    Мое резюме >">  

Мое резюме

Эта страница будет содержать мое резюме

Шаг № 5: Добавление JavaScript

Есть два способа добавить JavaScript. В этой первой демонстрации я создам кнопку. Когда кнопка нажата, она активирует функцию myFunction(), которая будет JavaScript (находится в теге ). Для этого настройте кнопку. Затем установите тег скрипта в заголовке HTML-кода и определите в нем функцию. В нашем случае мы определили функцию, которая будет добавлять «все резюме» к элементу p при нажатии кнопки.

Вы можете добавить его в файл index.html следующим образом:

    Мое резюме >"> function myFunction()   

Мое резюме

Эта страница будет содержать мое резюме

Click to see Resume

Однако в большинстве случаев файлы JavaScript, как правило, сами по себе являются документами, а не однострочниками. В таких случаях у нас будет файл .js, который нужно связать. В нашем случае мы бы написали: . Итак, как и в случае с файлом изображения, мы связываем файл js следующим образом:

    Мое резюме >">     

Мое резюме

Эта страница будет содержать мое резюме

В качестве альтернативы вы также можете использовать это: . Последний сгенерирует этот HTML-код:

    Мое резюме >">    

Мое резюме

Эта страница будет содержать мое резюме

Читать 6 тенденций веб-разработки на 2021 год

Заключение

Flask — это микро-фреймворк, который удобен в использовании и отлично подходит для начинающих. В частности, сама документация великолепна, и ее можно найти по адресу https://flask.palletsprojects.com/en/2.0.x/quickstart/#static-files. В этой статье мы узнали, как создать простой веб-сайт, добавить CSS, добавить изображения и добавить JavaScript на веб-сайт с помощью модуля Python Flask. Мы надеемся, что эта статья оказалась для вас полезной, и, пожалуйста, ознакомьтесь с Linux Hint для получения более информативных статей.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Как создать сайт на Python: советы экспертов IT-рынка

Любое коммерческое предприятие, которое занимается торговлей, оказанием услуг или производством, имеет свое представительство в Интернете. На сегодняшний день это один из важных факторов, который помогает создать конкурентоспособную организацию. Есть немало возможностей и различных конструкторов на условно бесплатных хостингах, благодаря которым можно создать свой интернет-ресурс. Но важно отметить, что работа с таким инструментом имеет ограничения и определенные проблемы.

Преимущества разработки на Python

Python – это язык программирования, на котором можно создавать не только сайты, но также модули и решать более сложные задачи. Благодаря структуре языка цифровой продукт будет наиболее защищен и прост в использовании. Если будет необходима доработка сайта или внедрение в него новых модулей, то специалисту, который занимается разработкой сайтов на python, не составит труда внести изменения. Браузеры на разном оборудовании, будь то ноутбук или смартфон, качественно отображают интернет-ресурс для пользователя, который был создан на python.

Важно также отметить, что создание сайтов на python на сегодняшний день – одно из популярных направлений. Поэтому заказчик может рассчитывать на значительную скидку от программиста.

Как создать сайт на Python

Для того чтобы создать качественный ресурс, необходимо обратиться к специалистам, которые помогут не только создать веб-сайт на python, но и проработают его в комплексе, чтобы он стал известен поисковым системам. Одна из проблем, связанных с ресурсами, которые были созданы на конструкторах – это их уязвимость и проблема с уникальностью. Такие ресурсы поисковые системы не оценивают как приоритетные.

Эксперты, которые смогут создать сайт на python django, могут гарантировать, что это будет адаптивный, современный дизайн, стабильная работа на всех устройствах, качественное отображение и т. д.

Необходимо оговорить все нюансы

Прежде чем заказать разработку интернет-ресурса, необходимо оговорить все требования. Специалисты учтут их и смогут составить смету по работе, чтобы заказчик знал, в какую сумму ему обойдется создание интернет-магазина или блога.

Если в будущем возникнет необходимость добавить новые модули и модернизировать шаблон, то для сайта, который создан на python django, это не составит особых проблем. Программисты в реальном времени смогут решить различные задачи.

# Создание сайта на Django

Django — фрэймворк для создания сложных и комплексных сайтов на языке Python.

В этой статье на примере создания сайта, показывающего погоду в разных городах мира, мы продемонстрируем работу с API, HTML-шаблонами и базами данных в Django.

Запускать проект будем на Джино.Хостинге.

# Подготовка к работе

Создадим для нашего сайта новый хостинг-контейнер. Для этого в разделе Аккаунт

Хостинг выберем «Создать новый хостинг». После создания перейдём в раздел «Услуги» и подключим «Поддержку скриптовых языков» и «Поддержку SSH».

«settings»

После подключения выбранных услуг подключимся к хостингу по SSH. Данные для SSH-подключения указаны в разделе Управление

Перед первым подключением к хостинг-контейнеру в разделе Управление

Настройки SSH нужно задать пароль пользователя. Порт для подключения используется стандартный — 22.

«settings»

Также в этом разделе можно настроить ограничение доступа к хостингу только с указанных IP-адресов.

После подключения к хостингу по SSH создадим виртуальное окружение для Python:

/opt/alt/python37/bin/virtualenv --python /opt/alt/python310/bin/python3 weather_venv 

Эта команда создаёт виртуальное окружение weather_venv для Python 3.10. Список всех доступных версий Python и пути к их интерпретаторам указаны в разделе Управление

После создания виртуального окружения активируем его

source ./weather_venv/bin/activate 

и установим Django с помощью стандартного пакетного менеджера

pip install django 

Теперь наше виртуальное окружение готово к работе. Перейдём к созданию проекта.

# Создание и запуск проекта

Создавать новый проект будем на локальной машине с последующим деплоем проекта на Хостинг. О том, как подготовить Хостинг к развёртыванию нового проекта и о способах загрузки проекта на сервер можно прочитать в нашей инструкции по развёртыванию проекта на Джино.Хостинге.

Создадим новый проект Django:

django-admin startproject weather_project 

Эта команда создаст папку weather_project со вложенной одноимённой папкой weather_project и файлом manage.py, отвечающим за управление проектом.

Уже на данном этапе можно настроить загрузку проекта на сервер и проверить работу пустого Django-проекта. Поскольку наше приложение будет объёмным и в течение работы мы будем несоклько раз обновлять его и изменять, рекомендуем само приложение создавать в IDE VSCode или PyCharm, из которых удобно настроить выгрузку приложения непосредственно на сервер.

После загрузки проекта на хостинг в папку с доменным именем, на котором он будет работать, проверим его работу.

Для запуска Django-проекта на Хостинге нужно создать файл passenger_wsgi.py, который будет отвечать за связь проекта с веб-сервером. Содержимое файла должно быть следующим:

import sys, os INTERP = os.path.expanduser("~/weather_venv/bin/python3") if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv) from weather_project.wsgi import application 

Здесь ~/weather_venv/bin/python3 — путь к виртуальному окружению на хостинге; weather_project.wsgi — указание на основной файл, который будет запускать приложение.

Теперь нужно изменить настройки самого нашего проекта, чтобы он мог запускаться на выбранном домене. Для этого в папке weather_project откроем файл settings.py и в строке ALLOWED_HOSTS укажем выбранное доменное имя, например ALLOWED_HOSTS = [ example.com ] .

После этого в разделе Управление

Настройки веб-сервера для выбранного домена укажем версию Python, которая будет использоваться для работы сайта и нажмём Перезагрузить , чтобы перезагрузить веб-сервер и проверить работу нашего проекта.

В адресной строке браузера укажем наше доменное имя. Если всё работает правильно, мы увидим стандартную стартовую страницу Django

«django»

# Создание приложения

Вернёмся к нашей IDE и создадим приложение в нашем проекте:

django-admin startapp weather_app 

Эта команда создаст папку weather_app, в которой уже находятся шаблоны для создания основных файлов нашего приложения.

Теперь перейдём в папку weather_app и создадим здесь файл urls.py:

from django.urls import path urlpatterns = [ ] 

Этот файл дублирует файл urls.py всего проекта. Основное отличие его в том, что в этом файле будут только те URL, которые относятся к нашему приложению, а не ко всему проекту в целом.

Чтобы добавить наше приложение к проекту, добавим его название в список уже установленных приложений проекта. Для этого в папке weather_project откроем файл settings.py и в блок INSTALLED_APPS добавим название нашего приложения:

… INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'weather_app', ] 

Теперь изменим основной файл urls.py, находящийся в папке weather_project. Мы добавим к нему строку, указывающую на использование нашего нового файла urls.py:

from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('weather.urls')), ] 

# Создание HTML-шаблона

Следующим шагом нам нужно создать HTML-шаблон, в который будут экспортироваться полученные по API данные и отображаться на главной странице нашего сайта.

Создадим в папке нашего приложения weather_app папку для шаблонов templates. В папке templates создадим папку для шаблонов приложения weather и уже в этой папке создадим файл index.html.

Содержимое индексного файла ( ~/domains/example.com/weather_app/templates/weather/index.html ) будет следующим:

DOCTYPE html> html lang="en"> head> meta charset="UTF-8"> meta name="viewport" content="width=device-width, initial-scale=1.0"> meta http-equiv="X-UA-Compatible" content="ie=edge"> title>What's the weather like?title> link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.6.2/css/bulma.css" /> head> body> section class="hero is-primary"> div class="hero-body"> div class="container"> h1 class="title"> What's the weather like? h1> div> div> section> section class="section"> div class="container"> div class="columns"> div class="column is-offset-4 is-4"> form method="POST"> div class="field has-addons"> div class="control is-expanded"> input class="input" type="text" placeholder="City Name"> div> div class="control"> button class="button is-info"> Add City button> div> div> form> div> div> div> section> section class="section"> div class="container"> div class="columns"> div class="column is-offset-4 is-4"> div class="box"> article class="media"> div class="media-left"> figure class="image is-50x50"> img src="http://openweathermap.org/img/w/10d.png" alt="Image"> figure> div> div class="media-content"> div class="content"> p> span class="title">Sun Cityspan> br> span class="subtitle">59° Fspan> br> Solar wind with some prominence p> div> div> article> div> div> div> div> section> footer class="footer"> footer> body> html> 

В Django-проекте основное взаимодействие происходит между файлами views.py приложения и urls.py проекта. Теперь, когда шаблон готов, изменим эти файлы для запуска приложения.

Откроем файл views.py и приведём его к следующему виду:

from django.shortcuts import render def index(request): return render(request, 'weather/index.html') #returns the index.html template 

Здесь мы назвали наш основной запрос index и использовали функцию render для обращения к файлу шаблона. Теперь добавим url, который будет отправлять запрос к этому шаблону. Откроем файл urls.py, который мы создали в папке с нашим приложением и приведём его к следующему виду:

from django.urls import path from . import views urlpatterns = [ path('', views.index), #the path for our index view ] 

Здесь описано перенаправление запроса к файлу views.py, который мы только что изменили.

Проверим работу нашего приложения! Загрузим его на сервер и перезагрузим веб-сервер ( Управление

Настройки веб-сервера ). Откроем браузер и проверим страницу нашего сайта:

# API

Для работы нашего приложения, нам будут нужны актуальные данные о погоде в разных городах мира. Получать их мы будем от одного из свободных погодных сервисов — Open Weather Map

Для получения данных по API нам нужно зарегистрироваться на сайте и в личном кабинете получить уникальный ключ, которым будем подписывать запрос

«django_app»

Чтобы проверить работу полученного ключа, можно через бразуер отправить запрос к приложению в следующем формате:

http://api.openweathermap.org/data/2.5/weather?q=Penza&units=imperial&appid=ваш_API_ключ 

В ответ в браузере должна появиться информация в JSON-формате:

"coord":"lon":45.0046,"lat":53.2007>,"weather":["id":800,"main":"Clear","description":"clear sky","icon":"01d">],"base":"stations","main":"temp":56.82,"feels_like":54.61,"temp_min":56.82,"temp_max":56.82,"pressure":1009,"humidity":51>,"visibility":10000,"wind":"speed":5.3,"deg":174,"gust":8.41>,"clouds":"all":0>,"dt":1652067877,"sys":"type":2,"id":219846,"country":"RU","sunrise":1652058692,"sunset":1652114482>,"timezone":10800,"id":511565,"name":"Penza","cod":200> 

Из этого объёма нам будут нужны только основные сведения. Для этого наше приложение будет конвертировать JSON-формат в формат данных, воспринимаемых Python.

Настроим работу запросов и конвертирование полученные данных из JSON-формата в формат данных Python. Для этого добавим в файл views.py строки import requests , url , city , city_weather :

from django.shortcuts import render import requests def index(request): url = 'http://api.openweathermap.org/data/2.5/weather?q=<>&units=imperial&appid=ваш_API_ключ' city = 'Penza' city_weather = requests.get(url.format(city)).json() return render(request, 'weather/index.html') 

Мы добавили URL, к которому будем отправлять запрос и строку, отвечающую за конвертирование данных из JSON в Python-формат.

В нашем случае в URL не указан город, город указан отдельно в строке city и сейчас это Penza. Позже мы исправим это и будем указывать город в базе данных и через специальную форму ввода в самом приложении.

Сейчас, когда наше приложение отправляет запрос и получает ответ, можно перейти к отображению полученных данных на нашем сайте.

# Отправка данных в шаблон

Чтобы отобразить полученные данные на странице сайта, нужно передать их в index.html. Для этого создадим библиотеку значений, данные из которой и будем передавать в шаблон.

В файле views.py добавим следующие строки:

... def index(request): ... weather =  'city' : city, 'temperature' : city_weather['main']['temp'], 'description' : city_weather['weather'][0]['description'], 'icon' : city_weather['weather'][0]['icon'] > return render(request, 'weather/index.html') #returns the index.html template 

Здесь мы добавили блок weather=<> , в котором определили переменные city , temperarute , description и icon . Этим переменным мы присвоили определённые значения из получаемого по API массива данных.

Теперь, чтобы передать эти данные в шаблон создадим дополнительную переменную context , которая и будет передавать все данные в шаблон. Здесь же, в файле views.py добавим строки:

... def index(request): ... context = 'weather' : weather> return render(request, 'weather/index.html', context) #returns the index.html template 

Переменная context — это словарь, в котором содержатся все данные блока weather .

Теперь нужно настроить отображение получаемых данных в самом HTML-шаблоне. Откроем файл index.html и вместо значений, которые на предыдущем шаге задавали вручную вставим значения наших новых переменных, используя

. div class="box"> article class="media"> div class="media-left"> figure class="image is-50x50"> img src="http://openweathermap.org/img/w/>.png" alt="Image"> figure> div> div class="media-content"> div class="content"> p> span class="title">>span> br> span class="subtitle">>° Fspan> br> > p> div> div> article> div> . 

В данном случае важно помнить, что при вызове переменной из словаря нужно использовать . , а не стандартный синтаксис Python (например, вызов переменной city будет выглядеть как weather.city вместо привычного weather[‘city’] .

После внесения необходимых изменений снова обновим наше приложение на сервере и на главной странице нашего сайта увидим, что информация о погоде в указанном городе получена.

Следующая «проблема» нашего приложения — указание города. В данном случае он указан напрямую в коде. Это неправильно — сделаем так, чтобы список городов, для которых нужно отображать информацию, хранился в базе данных.

Воспользуемся для хранения списка городов SQLite, идущей в составе Django. Чтобы добавить города в базу, создадим дополнительную форму в окне администратора приложения.

# Администрирование приложения

Создадим администратора нашего приложения командой:

python manage.py createsuperuser 

Эта команда запустит процесс создания администратора нашего сайта, в ходе которого мы укажем его основные данные: пароль, адрес электронной почты и т.д.

После создания администратора, вход в панель администрирования осуществляется через браузер по адресу http://your_domain/admin .

Теперь добавим в список доступных администратору операций возможность создавать список городов. Для этого воспользуемся файлом models.py, который находится в папке нашего приложения. Приведём этот файл к следующему виду:

from django.db import models class City(models.Model): name = models.CharField(max_length=25) def __str__(self): #show the actual city name on the dashboard return self.name class Meta: #show the plural of city as cities instead of cities verbose_name_plural = 'cities' 

Эта директива создаст в базе данных приложения таблицу из одной колонки, которая будет называться «name» и в которой будут храниться названия городов.

Чтобы создать эту таблицу в базе, нужно создать связи командой makemigrations и затем на основании этих связей обновить содержимое приложения:

python manage.py makemigrations python manage.py migrate 

Таблица в базе создана и готова к заполнению. Чтобы заполнить её, добавим форму ввода города в панель администрирования. Изменим для этого файл admin.py нашего приложения. Привдём его к следующем виду:

from django.contrib import admin from .models import City admin.site.register(City) 

Теперь в панели администрирования появилась новая форма для ввода городов. Добавим несколько.

# Добавление городов на главную страницу сайта

После того, как мы добавили в базу список городов, нам нужно изменить файлы views.py и index.html, чтобы на главной странице нашего сайта отображались все города.

Начнём с изменения файла views.py. Импортируем столбец City и сделаем отдельный запрос по API для каждого из городов:

from django.shortcuts import render import requests from .models import City def index(request): url = 'http://api.openweathermap.org/data/2.5/weather?q=<>&units=imperial&appid=ваш_API_ключ' cities = City.objects.all() #return all the cities in the database ... 

Теперь нам нужно сохранить данные для каждого города из списка и передать их в HTML-шаблон. Для этого создадим отдельный список weather_data , в котором будут храниться данные для каждого города.

Затем заменим переменную City на cities .

После — добавим словарь weather для каждого города в общий список weather_data и в конце немного изменим context , чтобы он передавал весь список в HTML-шаблон, а не только один блок данных.

В итоге файл views.py должен прийти к такому виду:

... def index(request): ... cities = City.objects.all() #return all the cities in the database weather_data = [] for city in cities: city_weather = requests.get(url.format(city)).json() #request the API data and convert the JSON to Python data types weather =  'city' : city, 'temperature' : city_weather['main']['temp'], 'description' : city_weather['weather'][0]['description'], 'icon' : city_weather['weather'][0]['icon'] > weather_data.append(weather) #add the data for the current city into our list context = 'weather_data' : weather_data> return render(request, 'weather/index.html', context) #returns the index.html template 

Далее, изменим index.html — добавим цикл в отображение данных в шаблоне. Для этого добавим строки и в начало и конец отображения данных о городах. В итоге, блок отображения данных должен стать таким:

. div class="column is-offset-4 is-4"> div class="box"> article class="media"> div class="media-left"> figure class="image is-50x50"> img src="http://openweathermap.org/img/w/>.png" alt="Image"> figure> div> div class="media-content"> div class="content"> p> span class="title">>span> br> span class="subtitle">>° Fspan> br> > p> div> div> article> div> div> . 

Теперь можно проверить, что у нас получилось. В адресной строке браузера адрес нашего сайта. В зависимости от добавленных в список городов, главная страница сайта должна выглядеть примерно так:

«django_app»

# Создание формы ввода

Последним, что осталось сделать для нашего сайта — создать форму ввода, чтобы пользователи могли добавлять города прямо с главной страницы сайта.

Для этого создадим новый файл forms.py в папке нашего приложения. Содержимое файла будет следующим:

from django.forms import ModelForm, TextInput from .models import City class CityForm(ModelForm): class Meta: model = City fields = ['name'] widgets =  'name': TextInput(attrs='class' : 'input', 'placeholder' : 'City Name'>), > #updates the input class to have the correct Bulma class and placeholder 

Это форма ввода нового имени города. Чтобы она заработала, нужно добавить её описание во views.py и передать данные из неё в шаблон.

Начнём с изменений во views.py

... from .forms import CityForm def index(request): ... form = CityForm() weather_data = [] ... context = 'weather_data' : weather_data, 'form' : form> 

Мы добавили описание передачи данных из формы и описали саму форму ввода данных.

Теперь изменим index.html

. form method="POST"> div class="field has-addons"> div class="control is-expanded"> > div> div class="control"> button class="button is-info"> Add City button> div> div> form> . 

В индексный файл мы добавили блок описания формы и CSRF-токен, необходимый для отправки запросов из Django.

После описания формы ввода в шаблоне, нам нужно проверить добавить во views.py блок, который будет отвечать за обработку запросов, отправленных в форме:

... def index(request): url = 'http://api.openweathermap.org/data/2.5/weather?q=<>&units=imperial&appid=ваш_API_ключ' cities = City.objects.all() #return all the cities in the database if request.method == 'POST': # only true if form is submitted form = CityForm(request.POST) # add actual request data to form for processing form.save() # will validate and save if validate form = CityForm() ... 

Здесь мы добавили if для проверки наличия запроса, отправленного из HTML-шаблона. Далее полученные данные сохраняются и передаются в обработку.

Сохраните все сделанные изменения и перезагрузите веб-сервер. Теперь можно проверять работу формы для добавления городов. Добавим, например, «Sydney»:

«django_app»

# Заключение

Мы описали создание сайта на Django с использованием HTML-шаблонов, запросов по API, баз данных и формой для добавления информации в базу данных.

© Джино, 2003–2022. «Джино» является зарегистрированным товарным знаком.
Лицензия на телематические услуги связи №150549 от 09.03.2017.

Сайт на Питоне пример

Чтобы иметь представление, как выглядит сайт на питоне, предлагаем ознакомиться с простейшим скриптом, развивая и дополняя который, можно решить определенные поставленные задачи.

import web urls = ( '/', 'index' ) class index: def GET(self): return «Сайт на питоне» if __name__ == "__main__": app = web.application(urls, globals()) app.run()

На питоне также написаны многие сайты, которые пользуются популярностью в различных сферах жизни и бизнеса. Давайте рассмотрим их примеры, чтобы понимать какого масштаба проекты вы можете получить, используя Python.

Instagram

Instagram

Крупнейшая в мире социальная сеть, в которой реализованы различные функции обработки изображений, обмена данными и др. Данный ресурс обрабатывает огромное количество процессов взаимодействия между пользователями. Готовые инструменты Python позволяют разработчикам уделять больше внимания UI и UX. Веб версия Инстаграм полностью разработана на Python+Django.

Youtube

Youtube

Изначально сайт строился на PHP, но в связи с тем, что аудитория проекта стала быстро расти, потребовался ввод нового функционала. Эта возможность появилась благодаря использованию Python и фреймворка Django.

Dropbox

Dropbox

Популярное хранилище для документов и файлов различного типа. Доступ может быть получен из любой точки онлайн.

Для создания бэкэнда и клиентского ПО применили Python. Также, используя Django, добавили опцию хранения действий пользователя, возможность синхронизации учетной записи и функцию обмена файлами.

Mozilla

Mozilla

Браузер, которым пользуются миллионы людей ежедневно. С учетом количества запросов разработку перенесли с PHP + CakePHP на Python + Django.

Spotify

Spotify

Ресурс для прослушивания, обмена и покупки музыки. Разработчики выбрали Python + Django по двум причинам:

  • Быстрое взаимодействие с сервером.
  • Machine Learning.

Примеры сайтов могут вдохновить вас на разработку собственного веб-ресурса. Если у вас нет опыта, специалисты Cetera Labs готовы реализовать ваши идеи по разработке сайта на Python.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *