Daily Dev Notes 2024/06/05
More work on the template tags tonight. I'm getting closer to my goal of having a similar template structure to the old WordPress Classic blogs. In particular, I'm using this template file as my inspiration: https://themes.svn.wordpress.org/classic/1.6/index.php
The key aim I'm trying to achieve is that you should be able to develop a theme without needing to understand Django views, or which views have which context. The addition of the have_posts
tag moves me closer to this goal. Now, instead of needing to know the specific context fields the views will be sending, you can use this syntax instead:
{% have_posts as posts %}
{% for post in posts %}
{% category_name "h1" pre_text="View Posts in the " post_text=" Category" %}
{% author_name "h1" pre_text="View Posts by " %}
<article>
<header>
<h1>{% post_title_link %}</h1>
<p>By {% post_author_link %}. {% post_date_link %}</p>
</header>
<section>
{% post_content %}
</section>
<footer>
<p>Categories: {% post_categories_link "span" "badge" %}</p>
</footer>
</article>
{% empty %}
<p>No posts available.</p>
{% endfor %}
Overall, I'm pretty happy with where this is heading. But still have some really fundamental things to sort out too - next on the list must be pagination.