Django. Створення сайту-візитівки.
Основи Python и Django. -> Створення сайту-візитки.
Створення сайту-візитівки.
Створення ВО та активація.
mkdir vizit
cd vizit
virtualenv -p python3 venv
. ./venv/bin/activate
Встановлення залежностей.
echo "Django" >> requirements.txt
python -m pip install -r requirements.txt
Створення проекту.
django-admin startproject prj
Міграція.
cd prj
./manage.py migrate
Створення програми.
./manage.py startapp main
Підключаємо в prg/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'main'
]
Визначаємо функцію вьюхи в main/views.py
from django.shortcuts import render
# Create your views here.
def index(request):
return render(request,'index.html')
Прописуємо на неї роутинг prj/urls.py.
from django.contrib import admin
from django.urls import path
from main.views import index
urlpatterns = [
path('', index),
path('admin/', admin.site.urls),
]
У налаштуваннях додаємо шлях до шаблонів.
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [ os.path.join(BASE_DIR, 'templates') ],
.....
},
]
Створюємо в корені проекту папку templates с файлом index.html.
<h1>Hello World</h1>
Результат.
Замінимо шаблон index.html на готовий дизайн.
<!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
<!--[if !IE]><!--> <html lang="en"> <!--<![endif]-->
<head>
<title>Responsive Portfolio Template for Developers</title>
...
<!-- Global CSS -->
<link rel="stylesheet" href="static/assets/plugins/bootstrap/css/bootstrap.min.css">
<!-- Plugins CSS -->
<link rel="stylesheet" href="static/assets/plugins/font-awesome/css/font-awesome.css">
Створюємо папку static і налаштовуємо Джангу в settings.py.
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
Результат.
Винесемо центральну чат із шаблону index.html у файл center.html.
{% extends 'index.html' %}
{% block center %}
<div class="primary col-md-8 col-sm-12 col-xs-12">
<section class="about section">
<div class="section-inner">
<h2 class="heading">About Me</h2>
<div class="content">
<p>Write a brief intro about yourself. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec.</p>
</div><!--//content-->
</div><!--//section-inner-->
</section><!--//section-->
</div><!--//primary-->
{% endblock %}
Визначимо блок center у головному шаблоні index.html який замінюватимемо.
<div class="container sections-wrapper">
<div class="row">
{% block center %} {% endblock %}
.....
Змінюємо шаблон у вьюхе.
from django.shortcuts import render
# Create your views here.
def index(request):
return render(request,'center.html')
Будуємо модель main/models.py.