Рубрики
Без рубрики

Создание данных и тонкая настройка шаблонов

Джанго следует по сухому принципу разработки программного обеспечения или принципа «Не повторяйся», Айми … Помечен Джанго, Питоном, Новичками, Учебным пособием.

Джанго следует по сухому принципу разработки программного обеспечения или принципа «Не повторяйся», стремясь минимизировать написание кода или повторяющийся код. Есть обсуждение репозитория Portland Pattern Это объясняет это в контексте. Аргумент сделал более простое объяснение, что даже 10-летние могут понять:

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

Текущий каталог шаблонов

Ваш нижний колонтитул должен иметь это:

# templates/partials/_footer.html

И у вашего Navbar будет это:

# tempaltes/partials/_navbar.html

Это хорошая практика, чтобы запустить файлы django в подчеркивании «_», чтобы показать, что они отличаются от других файлов HTML, кроме как, конечно, имеют разные имена файлов. Вы также заметите, что у нас есть тег IF-ELSE, завернутый на язык шаблонов Django в наших тегах списка. Это приводит к активному классу начальной загрузки, когда запрос соответствует имену URL -адресу, названному в файле urls.py.

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

$ python Manage.py Shell

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

Python 3.8.2 (default, Jun 16 2020, 15:51:47)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.16.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from blog_tutorial.main.models import Post

In [2]: from django.utils import timezone

In [3]: blog_post = Post.objects.create(title="First blog in Django", slug="first-blog-in-django"
   ...: , overview="Echo park squid jean shorts kitsch, af vaporware celiac. Fixie tbh meggings l
   ...: isticle distillery.", body="Listicle ramps you probably haven't heard of them tousled iro
   ...: ny etsy chia put a bird on it shaman. Gentrify glossier sustainable man braid. Squid clou
   ...: d bread biodiesel cliche chambray wolf marfa etsy austin jean shorts.", image="default.pn
   ...: g", created_on="2020-07-27", updated_on="", categories="blog", status="published")

In [4]: blog_post = Post.objects.create(title="Second blog in Django", slug="second-blog-in-djan
    ...: go", overview="Hexagon portland pok pok, succulents put a bird on it cornhole art party
    ...: banjo gentrify kitsch", body="iPhone air plant. Scenester woke snackwave butcher tattooe
    ...: d pug man bun hammock umami poke skateboard truffaut pour-over hell of. Hoodie food truc
    ...: k crucifix squid. Chicharrones skateboard paleo freegan unicorn lomo put a bird on it.",
    ...:  image="default.png", created_on=timezone.now(), updated_on=timezone.now(), status="publ
    ...: ished")

In [5]: blog_post = Post.objects.create(title="Third blog in Django", slug="third-blog-in-django
    ...: ", overview="Humblebrag cronut cloud bread. YOLO beard seitan", body="Tumeric hammock ad
    ...: aptogen letterpress deep v. Small batch migas pickled craft beer bitters listicle shaman
    ...:  iPhone live-edge af fingerstache.", image="default.png", created_on=timezone.now(), upd
    ...: ated_on=timezone.now(), status="published")

In [6]: blog_post = Post.objects.create(title="Woke roof party beard", slug="woke-roof-party-bea
    ...: rd", overview="humblebrag cronut cloud bread. YOLO beard seitan", body="Tumeric hammock
    ...: adaptogen letterpress deep v. Small batch migas pickled craft beer bitters listicle sham
    ...: an iPhone live-edge af fingerstache. Pinterest waistcoat bitters everyday carry quinoa",
    ...:  image="default.png", created_on=timezone.now(), updated_on=timezone.now(), status="publ
    ...: ished")

Чтобы проверить, были ли созданы объекты, мы создаем переменную blog_posts для наших объектов Post.

In [7]: blog_posts = Post.objects.all()

In [8]: print(blog_posts)
, , , ]>
Let's now create the Category and Project objects

In [9]: from blog_tutorial.main.models import Category

In [10]: blog_category = Category.objects.create(title="blog", slug="blog")

In [11]: blog_category = Category.objects.create(title="python", slug="python")

In [12]: blog_category = Category.objects.create(title="django", slug="django")

In [13]: blog_category = Category.objects.create(title="learnetto", slug="learnetto")

In [14]: from blog_tutorial.main.models import Project

In [15]: project = Project.objects.create(title="Acme", slug="acme", image="default.png", live_si
    ...: te="www.example.com", github_link="https://github.com/acme", description="A site for Acm
    ...: e")

In [16]: project = Project.objects.create(title="Learnetto", slug="learnetto", image="default.png
    ...: ", live_site="www.learnetto.com", github_link="https://github.com/learnetto", descriptio
    ...: n="A web app for Learnetto.")

In [17]: project = Project.objects.create(title="ICVN Tech Studio", slug="icvn-tech-studio", imag
    ...: e="default.png", live_site="www.icvntechstudio.co", github_link="https://github.com/icvn
    ...: techstudio", description="A static site for ICVN Tech Studio")

In [18]: blog_cat = Category.objects.all() 

In [19]: project_list = Projects.objects.all()

In [20]: project_list = Project.objects.all()

In [21]: print(blog_cat)
, , , ]>

In [22]: print(project_list)
, , ]>

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

Оригинал: “https://dev.to/highcenburg/creating-the-data-and-fine-tuning-the-templates-46a7”