<MyRusakov.ru />

Программирование на C++ в Unreal Engine 5

Программирование на C++ в Unreal Engine 5

Данный курс научит Вас созданию игр на C++ в Unreal Engine 5. Курс состоит из 12 разделов, в которых Вас ждёт теория и практика. Причём, в качестве практики будет создан весьма крупный проект объёмом свыше 5000 строк качественного кода, который уже на практике познакомит Вас с принципами создания игр на C++ в Unreal Engine 5.

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

Помимо самого курса Вас ждёт ещё и очень ценный Бонус: «Тестирование Unreal-проектов на Python», в рамках которого Вы научитесь писать очень полезные тесты для тестирования самых разных аспектов разработки игр.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Отображение html формы в Django

Отображение html формы в Django

В предыдущей статье про Django мы создали приложение, модель базы данных и отразили созданную базу в приложении администратора. В сегодняшней статье мы следуя шаблону MVC - (модель, контроллер, шаблон), подключим в файле views.py приложения blog, нашу модель из models.py, и создадим функции для обращения к данным, и отображении их в html шаблоне.

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

Слой моделей в файле models.py служит для создания и отражения полей базы данных. Следующий слой хранится в папке views.py, он отвечает за то что будет выводиться в ответ на запросы к странице блогa. Слой принимает запрос request и возвращает ответ в виде html шаблона страницы. То есть шаблон будет формироваться динамически в зависимости от данных в нашей базе, а сами данные при этом будут оформляться соответствующими тегами!


      
from django.shortcuts import render
from django.http import HttpResponse
# импорт модели
from .models import Post


def show(request):
    
    #обращение к модели и вывод значений из нее
    posts = Post.objects.all()[:10]

    context = {
        'title':'Post',
        'posts': posts
    }
    # возврат  шаблона с подставленными значениями
    return render(request, "blog/detail.html", context)

Следующим шагом будет создание внутри каталога приложения папки template, со следующей структурой template/blog/file.html. Вложенная папка blog здесь присутствует, во избежание конфликта имен в проекте. Далее, во внутренней папке blog создаем файл index.html, содержащий в себе базовую разметку. И там же создадим detail.html


# index.html


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
    <title>Posts</title>
</head>
<body>
    <header class="container center-align">
        <h1>Posts</h1>

    </header>
    <div class="container">
        {% block content %}
        # здесь окажется код с дочерних файлов
        {% endblock %}
        <br>
        <a style="display: block;" class="left" href="/polls">Polls app</a>
        <a style="display: block;" class="center-align" href="/admin">Admin Login</a>
    </div>
</body>
</html>



# detail.html 

{% extends 'blog/index.html' %}

{% block content %}
<h2 class="center-align blue lighten-2">{{title}}</h2>
<ul class="collection">
    {% for post in posts %}
    <li class="collection-item"><a href="/blog/details/{{post.id}}">{{post.title}}</a></li>
    {% endfor %}
</ul>
{% endblock %}

Как можно заметить в обоих файлах есть общая конструкция {% block content %}---{% endblock %}. А в detail.html присутствует {% extends 'blog/index.html' %}. Это и есть шаблонизатор со своим языком. Теперь, при запросе к файлу приложения url.py, будет вызвана функция модуля views.py, которая и вернет страницу с данными.


from django.urls import path 
from . import views
from django.conf.urls import url

urlpatterns = [
      url(r'^details/(?P<id>\d+)/$', views.details, name = 'details'),
     ]
    

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

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.