Публикация в Интернете!
Примечание: Эта глава может показаться сложной. Будь упорна, развертывание сайта на сервере является важной частью веб-разработки. Данная глава намеренно расположена в середине учебника для того, чтобы твой наставник смог помочь с таким мудреным процессом, как публикация сайта. Так ты сможешь самостоятельно закончить все главы, даже если время будет поджимать.
До настоящего момента твой сайт был доступен только для локального просмотра, теперь же ты узнаешь, как развернуть его на удалённом сервере! Развертывание (deploy) — это процесс публикации приложения в интернете, чтобы люди могли наконец увидеть твое творение 🙂
Как ты уже знаешь, веб-сайт должен располагаться на сервере. Есть много компаний, предоставляющих сервера в интернете. Мы воспользуемся услугами одной из них, с довольно простым процессом публикации: PythonAnywhere. PythonAnywhere бесплатен для маленьких приложений с небольшим числом посетителей, и этого будет для нас более чем достаточно.
Другим внешним сервисом, которым мы воспользуемся, будет GitHub — сервис хостинга кода. Существуют и другие похожие сервисы, но практически у каждого программиста есть GitHub аккаунт, теперь будет и у тебя!
В итоге твой код будет в трёх местах. На локальном компьютере ты будешь заниматься разработкой и тестированием. Когда результат тебя устроит, ты загрузишь свою программу на GitHub. А твой сайт будет на PythonAnywhere, и ты сможешь обновлять его, просто загружая новую версию кода с GitHub.
Примечание: если ты уже выполнила установку, незачем повторять её вновь — можешь сразу переходить к следующему разделу и начать создание собственного Git-репозитория.
Git — это «система управления версиями», используемая множеством программистов. Эта программа отслеживает изменения, происходящие с файлами, чтобы впоследствии можно было восстановить состояние кода на нужный момент времени. Это немного похоже на функцию отслеживания изменений в Microsoft Word, но куда мощнее.
Установка Git
Windows
Ты можешь загрузить Git с официального сайта git-scm.com. Ты можешь нажимать «дальше, дальше, дальше» на всех этапах установки за исключением одного: на пятом шаге, который называется «Adjusting your PATH environment» (Настройка системной переменной Path), выбери «Use Git and optional Unix tools from the Windows Command Prompt» (Запуск Git и соответствующих Unix утилит через командную строку Windows, нижняя опция). Все остальные настройки можно оставить по умолчанию. Также неплохо будет выбрать опцию «Checkout Windows-style, commit Unix-style line endings».
После окончания установки не забудь перезапустить командную строку или PowerShell.
Загрузи Git с официального сайта git-scm.com и просто следуй инструкциям по установке.
Примечание: если ты используешь OS X 10.6, 10.7 или 10.8, тебе придётся установить git отсюда: Установка Git для OS X Snow Leopard
Debian и Ubuntu
$ sudo apt install git
Fedora
$ sudo dnf install git
openSUSE
$ sudo zypper install git
Создаём Git-репозиторий
Git отслеживает изменения определенного набора файлов, который называется репозиторием (сокращенно «репо»). Давайте создадим такой для нашего проекта. Открой консоль и запусти эти команды в папке djangogirls :
Примечание: проверь текущий рабочий каталог с помощью команд pwd (OSX/Linux) или cd (Windows) перед инициализацией нового репозитория. Ты должна находиться в директории djangogirls .
$ git init Initialized empty Git repository in ~/djangogirls/.git/ $ git config --global user.name "Your Name" $ git config --global user.email you@example.com
Инициализировать git-репозиторий придется только один раз за проект (и тебе больше не придется вводить имя пользователя и адрес электронной почты).
Git будет отслеживать изменения всех файлов и каталогов в заданной директории, однако некоторые из них мы предпочли бы игнорировать. Для этого нам нужно создать файл .gitignore в корневом каталоге репозитория. Открой редактор и создай новый файл со следующим содержанием:
*.pyc *~ __pycache__ myvenv db.sqlite3 /static .DS_Store
И сохрани его как .gitignore в корневом каталоге «djangogirls».
Примечание: точка в начале имени файла имеет важное значение! Если у тебя есть проблемы с созданием таких файлов (Mac не позволит создать файл с названием, начинающимся с точки, через Finder, например), тогда используй кнопку «Сохранить как» в меню своего редактора кода, это точно поможет.
Примечание: среди файлов, которые мы перечислили в .gitignore , есть db.sqlite3 . Этот файл содержит твою локальную базу данных, где будут храниться твои посты. Мы не добавляем его в репозиторий, поскольку твой сайт на PythonAnywhere будет использовать другую базу данных. Эта база данных тоже может быть SQLite, как на твоём рабочем компьютере, но обычно используется MySQL, которая может справиться с большим количеством посетителей, чем SQLite. В любом случае, поскольку мы не копируем базу данных SQLite на GitHub, все посты, которые ты уже создала, будут доступны только на твоём локальном компьютере, и тебе придётся заново создать их на опубликованном сайте. Рассматривай свою локальную базу данных как удобную игровую площадку, где ты можешь тестировать различные идеи и не бояться удалить настоящий пост из своего блога.
Используй команду git status перед git add или в любой другой момент, когда ты не уверена, что изменения — хорошая идея. Это убережёт тебя от таких неприятных сюрпризов, как добавление неправильных файлов. Команда git status возвращает информацию обо всех ранее неотслеживаемых/изменённых/добавленных в git файлах, а также статус ветки и многое другое. Результат должен быть похож на:
$ git status On branch master No commits yet Untracked files: (use "git add . " to include in what will be committed) .gitignore blog/ manage.py mysite/ nothing added to commit but untracked files present (use "git add" to track)
И, наконец, мы сохраним наши изменения. Переключись на консоль и набери:
$ git add --all . $ git commit -m "My Django Girls app, first commit" [. ] 13 files changed, 200 insertions(+) create mode 100644 .gitignore [. ] create mode 100644 mysite/wsgi.py
Загружаем код в репозиторий GitHub
Зайди на GitHub.com и создай новую бесплатную учётную запись (если это уже сделано во время подготовки к воркшопу — здорово!). Убедись, что запомнила свой пароль (добавь его в свой менеджер паролей, если им пользуешься).
Затем создай новый репозиторий и назови его «my-first-blog». Не выбирай опцию «initialise with a README», не создавай файл .gitignore (мы уже сделали это сами) и оставь лицензию None.

Примечание: имя репозитория my-first-blog для нас очень важно — ты можешь, конечно, придумать другое название, но оно будет встречаться множество раз в руководстве, и тебе придется заменять его каждый раз на своё. Будет проще для начала остановиться на нашем варианте: my-first-blog .
На следующем экране ты найдёшь URL для клонирования репозитория. Выбери вариант «HTTPS» и скопируй ссылку:

Теперь нужно связать локальный репозиторий с репозиторием на GitHub.
Напечатай у себя в консоли следующую команду (замени на имя, указанное при создании аккаунта на GitHub, но без угловых скобок):
$ git remote add origin https://github.com//my-first-blog.git $ git push -u origin master
Введи свое имя пользователя и пароль от аккаунта GitHub; ты должна увидеть что-то такое:
Username for 'https://github.com': hjwp Password for 'https://hjwp@github.com': Counting objects: 6, done. Writing objects: 100% (6/6), 200 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To https://github.com/hjwp/my-first-blog.git * [new branch] master -> master Branch master set up to track remote branch master from origin.
Твой код теперь на GitHub. Зайди на сайт и проверь! Ты найдешь его в хорошей компании: фреймворк Django, этот учебник, а также многие другие великолепные проекты с исходным кодом размещены на GitHub 🙂
Настройка блога на PythonAnywhere
Регистрация на PythonAnywhere
Примечание: возможно, ты уже завела учётную запись на PythonAnywhere ранее — если так, нет нужды повторять это вновь.
PythonAnywhere — это сервис по запуску кода на Python в облаке. Мы будем использовать его, чтобы разместить наш сайт «вживую» в интернете.
Создай аккаунт уровня «Beginner» на PythonAnywhere. Он бесплатный, так что кредитка не понадобится.

- www.pythonanywhere.com
Примечание: при выборе имени пользователя помни, что URL блога примет вид yourusername.pythonanywhere.com , так что остановись либо на своём нике, либо на имени, связанном с тематикой блога. Кроме того, убедись в том, что запомнила пароль (сохрани его в своём менеджере паролей, если им пользуешься).
Создание API токена для PythonAnywhere
Это нужно будет сделать только один раз. Когда ты зарегистрируешься на PythonAnywhere, откроется панель управления (dashboard). На ней в правом верхнем углу будет ссылка на страницу «Account»:

Там выбери вкладку «API token» и нажми кнопку, на которой написано «Create new API token» (создать новый API token).

Настройка сайта на PythonAnywhere
Вернись на главную страницу PythonAnywhere, кликнув логотип. Затем запусти Bash-консоль. Нажав на кнопку bash ты запускаешь командную строку, которая находится на серверах PythonAnywhere. Эта командная строка аналогична той, что есть на твоём собственном компьютере.

Примечание: PythonAnywhere использует Linux, так что если ты используешь Windows, то терминал и команды могут немного отличаться от того, к чему ты привыкла на своём компьютере.
Чтобы опубликовать сайт на PythonAnywhere, нужно загрузить на PythonAnywhere твой код с Github и затем настроить PythonAnywhere так, чтобы он распознал твой код и запустил твоё веб-приложение. Существуют способы сделать это «вручную», но для PythonAnywhere есть программа-помощник, которая сделает это для тебя. Давай её установим.
$ pip3.6 install --user pythonanywhere
Когда ты это запустишь, в консоли будет печататься лог установки. Он начнётся с чего-то вроде Collecting pythonanywhere , а последней будет строчка Successfully installed (. ) pythonanywhere- (. ) .
Теперь запустим эту вспомогательную утилиту, которую ты только что установила. Она настроит твоё приложение, скачав его код с GitHub. Напечатай следующее в консоли PythonAnywhere (не забудь использовать свой ник на GitHub вместо , URL в консольной команде должен совпадать с URL, используемым в команде clone):
$ pa_autoconfigure_django.py https://github.com//my-first-blog.git
Утилита будет печатать в консоль, что она делает:
- Скачивает твой код с GitHub
- Создаёт виртуальное окружение на PythonAnywhere, такое же, как на твоём компьютере
- Обновляет твой файл настроек с настройками деплоя
- Создаёт базу данных на PythonAnywhere, используя команду manage.py migrate
- Разбирается с твоими статическими файлами (о них будет дальше)
- Настраивает PythonAnywhere так, чтобы твоё приложение было доступно в интернете
Все эти шаги автоматизированы на PythonAnywhere, но они совершенно такие же, какие надо было бы совершить с любым другим хостинговым сервисом.
Главное, на что нужно обратить внимание сейчас, — это то, что твоя база данных на PythonAnywhere никак не связана с базой данных на твоём компьютере. Поэтому там будут разные посты и разные аккаунты администраторов. Как следствие, для базы на PythonAnywhere необходимо создать аккаунт администратора так же, как ты это делала у себя локально с помощью команды createsuperuser . На PythonAnywhere заранее активировано виртуальное окружение, так что всё, что тебе нужно сделать — это запустить в консоли PythonAnywhere команду:
(ola.pythonanywhere.com) $ python manage.py createsuperuser
Введи параметры для своего пользователя-админа. Лучше всего использовать те же самые данные, что и у тебя на локальном компьютере, чтобы избежать путаницы, если ты конечно не хочешь сделать пароль на сервере PythonAnywhere более надёжным.
Сейчас, если хочешь, посмотри на файлы на PythonAnywhere с помощью команды ls :
(ola.pythonanywhere.com) $ ls blog db.sqlite3 manage.py mysite requirements.txt static (ola.pythonanywhere.com) $ ls blog/ __init__.py __pycache__ admin.py apps.py migrations models.py tests.py views.py
Ты также можешь заглянуть на страницу «Files» и посмотреть, что лежит на сервере, используя встроенный в PythonAnywhere файловый менеджер. (Со страницы «Console» ты можешь попасть на другие страницы PythonAnywhere, используя кнопку меню в правом верхнем углу. Находясь на какой-либо странице, ты можешь найти ссылки на другие вверху.)
Ты в сети!
Ура, твой сайт теперь доступен всем в интернете! Ты можешь найти ссылку на него на странице «Web» на PythonAnywhere. Этой ссылкой можно делиться с кем хочешь 🙂
Примечание Это туториал для начинающих, поэтому публикуя сайт, мы использовали несколько хаков, которые не очень хороши с точки зрения безопасности. Если ты захочешь сделать что-то на основе этого проекта или начать новый, прочитай Django deployment checklist для советов по безопасности на твоём сайте.
Советы по отладке
Если ты столкнулась с ошибкой, запуская скрипт pa_autoconfigure_django.py , вот несколько частых причин:
- Ты забыла создать PythonAnywhere API токен
- Ошибка в GitHub URL
- Если ты видишь сообщение «Could not find your settings.py» (невозможно найти settings.py), это может быть вызвано тем, что ты не добавила все файлы в Git или не загрузила их на GitHub. Перечитай Git-секцию выше
- Если ты до этого уже регистрировала аккаунт на PythonAnywhere и наткнулась на ошибку collectstatic, вполне вероятно, что у тебя устаревшая версия SQLite (например, 3.8.2). В этом случае зарегистрируй новый аккаунт и попробуй ещё раз ввести команды, упомянутые в разделе Настройка блога на PythonAnywhere.
Если ты столкнулась с ошибкой при попытке открыть свой сайт, первое место, где нужно искать отладочную информацию — твой error log. Ты найдёшь ссылку на него на странице «Web» на PythonAnywhere. Глянь, есть ли там какие-либо сообщения об ошибках; самые новые находятся внизу.
И помни, твой тренер здесь, чтобы помочь!
Ты в сети!
Стандартная страница твоего сайта должна включать приветствие «It worked!», точно так же как было на локальном компьютере. Попробуй добавить /admin/ к концу адреса сайта, и перейдёшь к панели администратора сайта. Войди под своим именем и паролем и увидишь форму для добавления новых записей в блог.
После того, как создашь несколько записей, ты можешь вернуться к своей локальной версии приложения (а не на PythonAnywhere). С этого момента для внесения изменений тебе нужно работать в своей локальной версии. Это обычный подход в веб-программировании: изменять код локально, загружать изменения на GitHub, а затем подтягивать изменения на сервер с сайтом. Такой подход позволяет тебе работать и экспериментировать, не рискуя сломать свой сайт. Круто, правда?
Ты заслужила огромную похвалу! Развёртывание сервера — одна из самых каверзных частей веб-разработки, и нередко уходит несколько дней, прежде чем заставишь всё работать. А у нас уже есть работающий в сети веб-сайт, вот так вот!
results matching » «
No results matching » «
Как запустить Flask (python) сайт на PythonEveryWhere?
Как запустить Flask (python) сайт на Python Everywhere? Всё делал по этой документации https://help.pythonanywhere.com/pages/Flask/ И все вроде бы заработало, но когда я кликнул по ссылке, сайт был не доступен. Посоветуйте другие документации (желательно на русском, но не обязательно) или возможно кто то уже сталкивался с такой проблемой и знает как она решается. Кстати я запускал сайт без домена, возможно в этом проблемма
Отслеживать
задан 3 июн 2020 в 19:49
Ahmed Ayman 123 Ahmed Ayman 123
141 13 13 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Рекомендую воспользоваться официальной документацией PythonAnyWhere: https://help.pythonanywhere.com/pages/
или поискать ответ на их личном форуме:
А так же такой вопрос был уже задан на Иностранном Stack-e:
Отслеживать
ответ дан 3 июн 2020 в 19:54
346 1 1 серебряный знак 11 11 бронзовых знаков
- python
- python-3.x
- flask
- веб-сервер
- хостинг
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.17.3574
Setting up Flask applications on PythonAnywhere
There are two main ways to set up a Flask application on PythonAnywhere:
- Starting from scratch using our default versions of Flask
- Importing a pre-existing app using Manual configuration, and using a virtualenv
The first option works well if you’re just playing around and want to throw something together from scratch. Go to the Web Tab and hit Add a new Web App, and choose Flask and the Python version you want.
The second option is described in more detail below
Getting your code onto PythonAnywhere¶
This guide assumes you’ve already managed to get your code onto PythonAnywhere. Check out the uploading and downloading files guide if you need to.
For the purposes of these examples, we’ll assume your code lives at /home/yourusername/mysite
Check your config¶
If you’re importing existing code, review all of your Flask configuration settings to ensure that they match their new home. For instance, if you’ve specified a SERVER_NAME in your config, make sure that it matches the web app name.
Setting up your virtualenv¶
Open up a new Bash console from your Dashboard and run
mkvirtualenv --python=/usr/bin/python3.6 my-virtualenv # use whichever python version you prefer pip install flask
You’ll see the prompt changes from a $ to saying (my-virtualenv)$ — that’s how you can tell your virtualenv is active. Whenever you want to work on your project in the console, you need to make sure the virtualenv is active. You can reactivate it at a later date with
$ workon my-virtualenv (my-virtualenv)$
You can also install any other dependencies you may have at this point, like Sqlalchemy, using pip install flask-sqlalchemy , or pip install -r requirements.txt , if you have a requirements.txt
Setting up the Web app using Manual configuration¶
Go to the Web Tab and hit Add a new web app. Choose Manual Configuration, and then choose the Python version — make sure it’s the same version as the one you used in your virtualenv
Now go to the Virtualenv section, and enter your virtualenv name: my-virtualenv. When you hit enter, you’ll see it updates to the full path to your virtualenv (/home/yourusername/.virtualenvs/my-virtualenv).
Finally, go edit the wsgi configuration file. You’ll find a link to it near the top of the Web tab.
Configuring the WSGI file¶
To configure this file, you need to know which file your flask app lives in. The flask app usually looks something like this:
app = Flask(__name__)
Make a note of the path to that file, and the name of the app variable (is it «app»? Or «application»?) — in this example, let’s say it’s /home/yourusername/mysite/flask_app.py , and the variable is «app».
In your WSGI file, skip down to the flask section, uncomment it, and make it looks something like this:
import sys path = '/home/yourusername/mysite' if path not in sys.path: sys.path.insert(0, path) from flask_app import app as application
Do not use app.run() ¶
When you’re using Flask on your own PC, you’ll often «run» flask using a line that looks something like this:
app.run(host='127.0.0.1',port=8000,debug=True)
That won’t work on PythonAnywhere — the only way your app will appear on the public internet is if it’s configured via the web tab, with a wsgi file.
More importantly, if app.run() gets called when we import your code, it will crash your app, and you’ll see a 504 or a 502 error on your site, as detailed in this help page.
Thankfully, most Flask tutorials out there suggest you put the app.run() inside an if __name__ == ‘__main__’: clause, which will be OK, because that won’t get run when we import it.
app = Flask(__name__) @app.route('/') def home(): # etc etc, flask app code if __name__ == '__main__': app.run()
app = Flask(__name__) @app.route('/') def home(): # etc etc, flask app code app.run()
What about my database config?¶
Many guides on the Internet also suggest you put your database setup inside the __main__ clause, like this:
if __name__ == '__main__': db.create_all() app.run()
That will work fine on your machine, but, again, we don’t want to use app.run() on PythonAnywere. But you’ll still want to be able to run db.create_all() every so often on PythonAnywhere, to update your database tables or whatever it may be.
Two solutions — either just run it from a Bash console (remembering to activate your virtualenv first) and then Ctrl+C the flask server when it runs
$ workon my-virtualenv (my-virtualenv)$ python flask_app.py * Running on http://127.0.0.1:5000/ ^C (my-virtualenv)$
Or make a clever little if in your main that checks if it’s running on PythonAnywhere, eg:
from socket import gethostname [. ] if __name__ == '__main__': db.create_all() if 'liveconsole' not in gethostname(): app.run()
Want to improve this page? Submit a pull request!
Copyright © 2011-2023 PythonAnywhere LLP — Terms — Privacy & Cookies
«Python» is a registered trademark of the Python Software Foundation.
Публикация Django-проекта на платформе pythonanywhere.com
Проект готов. Ему не хватает только одного: посетителей. Ваше новое задание — подготовиться к их визиту.
Зарегистрируйтесь на своём сайте, опубликуйте в своей ленте несколько постов: посетители должны увидеть наполненный сайт. В постах может быть что угодно: мемы, цитаты Конфуция об интернете, трагикомический триллер «как я написал этот проект», избранные места из переписки с ревьюерами — любая тема хороша. Устройте праздник сокурсникам и знакомым, пусть им будет интересно.
Питон — он всюду: pythonanywhere.com
Один из способов выложить сайт в интернет — воспользоваться услугами сервиса pythonanywhere.com: там можно получить бесплатное место на диске и удобные настройки для развёртывания проекта. Для коммерческой эксплуатации проекта предоставляемых ресурсов не хватит, и доменное имя будет не самое красивое — но для учебных целей этот сервис — то, что надо.Процесс несложный, приступим.
Регистрация и выбор имени для домена
Зарегистрируйтесь на сайте и подтвердите адрес электронной почты.Будьте предусмотрительны при выборе имени пользователя (логина): в бесплатном аккаунте URL вашего проекта будет таким: www..pythonanywhere.com. Для наших примеров мы выбрали имя paktikum.
После регистрации вам предложат ознакомительную прогулку по сервису. Если есть время — соглашайтесь, но это не обязательно.
Настройка и запуск пустого Django-проекта
После регистрации и авторизации вам будет доступно 512 Мб дискового пространства для размещения проекта. Этого более чем достаточно для Yatube.Поехали: на странице Dashboard щёлкните по кнопке Open Web tab:
Дальше: Web —> Add a new app:
Your web app’s domain name … Предложение улучшить аккаунт решительно отвергаем, жмём кнопку Next.
Select a Python Web framework —> DjangoНаш выбор — Django!
Select a Python version —> Python 3.8 (Django 2.2.7)
Выберите Python 3.8.
Project Name —> yatube
В поле Project Name укажите yatube. Это имя используется в настройках, так что лучше дать имя, соответствующее названию Django-проекта.
Готово! Перейдите по URL своего проекта .pythonanywhere.com: там будет запущен пустой проект Джанго.
Разворачиваем проект на сервере
Подготовьте проект к публикации: в список ALLOWED_HOSTS в файле hw05_final/yatube/settings.py добавьте два варианта адреса вашего сайта (вместо ваш_логин должно быть указано имя вашего аккаунта на pythonanywhere.com).
ALLOWED_HOSTS = [ 'www.ваш_логин.pythonanywhere.com', 'ваш_логин.pythonanywhere.com', ]
Эта настройка позволит работать вашему проекту не только на локальной машине, но и на вашем домене.
Следующий этап — залить файлы проекта на сервер.В меню сайта pythonanywhere.com перейдите по ссылке Files. Откроется страница с инструментами для добавления, удаления и редактирования файлов на вашем сервере.
Загружать файлы нужно в домашнюю директорию на сервере, она откроется при входе на страницу Files.
Можно создавать директорию за директорией и поштучно размещать в них файл за файлом. Но лучше создать на локальной машине zip-архив проекта через любой архиватор, который у вас установлен.
Другой вариант — создать zip-архив через bash-терминал:
# По этой команде будет создан zip-архив с названием исходной директории zip -r hw05_final hw05_final
Перед архивацией удалите из директории проекта папку venv — на сервере она не понадобится. Если вы забудете её удалить — ничего страшного не случится, просто загрузка и разархивация продлятся чуть дольше.
Теперь весь проект можно залить на сервер одним файлом.После загрузки должно получиться так:
Для распаковки архива на сервере графический интерфейс не предусмотрен. Пройдёмте в раздел Consoles: там живут терминалы. Наш выбор: Consoles —> Other —> Bash.
После запуска Bash перед вами окажется окно терминала:
Самое время вспомнить полезные команды:
ls — посмотреть файлы
cd — перейти в директорию
cd .. подняться на директорию выше
unzip hw05_final.zip — разархивировать архив hw05_final
После этого перейдите в папку hw05_final, содержащую файл requirements.txt, и установите зависимости проекта. Если вы по несчастной случайности загрузили на сервер виртуальное окружение — активировать его не надо: на сервере будет лишь один проект.
pip3 install -r requirements.txt --user
- pip3 указывает явным образом, что используется python3.
- —user для установки в вашем домашнем каталоге, что не требует никаких специальных привилегий. Без этого будет проблема с правами доступа.
Некоторые зависимости будут ругаться на уже установленные. Это нормально и на работоспособность не повлияет.
Последний шаг — на странице Web в разделе WSGI configuration file:
Необходимо изменить конфигурационный файл _wsgi.py: в нём нужно указать правильное имя папки с кодом проекта: project_home = ‘/home/praktikum/hw05_final/yatube/’
После этого перезагрузите сервер — нажмите зелёную кнопку Reload
Ваш проект Yatube доступен в Интернете!
Похожие записи:
- Запуск dev-сервера и первый коммит
- Unittest в Django и Coverage-тестомерка
- HTML страницы в Django. Render
- Приложение Users. Переопределение шаблона logged_out