Создание проекта и окружения. Установка библиотек. Создание проекта и окружения. Установка библиотек. Создание проекта и окружения. Установка библиотек.

Создание проекта и окружения. Установка библиотек. Запуск веб сервера.

Open in new window

Создание папки проекта.

mkdir time-control
cd time-control

Виртуальное окружение

установка в систему нужных команд (установщик python pip и virtualenv)

sudo apt-get install python3-pip virtualenv

установка виртуального окружения в проект

virtualenv -p python3 venv
  • создается папка venv где будут requirements-ы, которую обычно игнорят в git.

Активация виртуального окружения

. ./venv/bin/activate

появляется приставка (venv) в начале коммандной строки что значит что окружение активировано и мы можем устанавливать в него необходимы пакеты

Установка Django

pip install django

Создание нового проекта

django-admin startproject djangoprj

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

cd djangoprj
./manage.py startapp main

Прописываем название нового приложения в настройках djangoprj/settings.py

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

Запуск сервера разработки.

./manage.py runserver 9898

start page

Переопределим стартовую страницу djangoprj/urls.py.

from main.views import home_page

urlpatterns = [
    path('', home_page, name='home'),
    path('admin/', admin.site.urls),
]

Создание вьюхи в main/views.py

from django.shortcuts import render

# Create your views here.

def home_page(request):
    return render(request,'index.html')

error template page

Добавление директории с шаблонами.

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [ os.path.join(BASE_DIR, 'templates') ],
        'APP_DIRS': True,
...

Использование шаблонов изнутри приложения.

Создадим папку main/templates.

Добавим туда файл main.html где напишем:

<h1>Hello from main.html!!!</h1>

Создадим главный шаблон из templates/index.html в templates/layout.html

<html>
    <head>

    </head>
    <body>
        <h1> This is layout.html </h1>

    </body> 
</html>

Унаследуем шаблон main/templates/main.html от templates/layout.html.

{% extends 'layout.html' %}

Определим блок ‘content’ в templates/layout.html куда будет помещено содержимой дочернего шаблона.

{% block content %} {% endblock %}

welcome template page

Other topics