<!DOCTYPE html> <html> <head> <title>Django Central</title> <link 
href="https://fonts.googleapis.com/css?family=Roboto:400,700"; 
rel="stylesheet"> <meta name="google" content="notranslate" /> <meta 
name="viewport" content="width=device-width, initial-scale=1" /> <link 
rel="stylesheet" 
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"; 
integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
 
crossorigin="anonymous" /> </head> <body> <style> body { font-family: 
"Roboto", sans-serif; font-size: 17px; background-color: #fdfdfd; } .shadow 
{ box-shadow: 0 4px 2px -2px rgba(0, 0, 0, 0.1); } .btn-danger { color: 
#fff; background-color: #f00000; border-color: #dc281e; } .masthead { 
background: #3398E1; height: auto; padding-bottom: 15px; box-shadow: 0 16px 
48px #E3E7EB; padding-top: 10px; } </style> <!-- Navigation --> <nav 
class="navbar navbar-expand-lg navbar-light bg-light shadow" id="mainNav"> 
<div class="container-fluid"> <a class="navbar-brand" href="{% url 'home' 
%}">Django central</a> <button class="navbar-toggler navbar-toggler-right" 
type="button" data-toggle="collapse" data-target="#navbarResponsive" 
aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle 
navigation"> <span class="navbar-toggler-icon"></span> </button> <div 
class="collapse navbar-collapse" id="navbarResponsive"> <ul 
class="navbar-nav ml-auto"> <li class="nav-item text-black"> <a 
class="nav-link text-black font-weight-bold" href="#">About</a> </li> <li 
class="nav-item text-black"> <a class="nav-link text-black 
font-weight-bold" href="#">Policy</a> </li> <li class="nav-item 
text-black"> <a class="nav-link text-black font-weight-bold" 
href="#">Contact</a> </li> </ul> </div> </div> </nav> {% block content %} 
<!-- Content Goes here --> {% endblock content %} <!-- Footer --> <footer 
class="py-3 bg-grey"> <p class="m-0 text-dark text-center ">Copyright 
&copy; Django Central</p> </footer> </body> </html> 

This is a regular HTML file except for the tags inside curly braces { 
} these are called template tags.

The {% url 'home' %} Returns an absolute path reference, it generates a 
link to the home view which is also the List view for posts.

The {% block content %} Defines a block that can be overridden by child 
templates, this is where the content from the other HTML file will get 
injected.

Next, we will make a small sidebar widget which will be inherited by all 
the pages across the site. Notice sidebar is also being injected in 
the base.html file this makes it globally available for pages inheriting 
the base file.
{% block sidebar %} <style> .card{ box-shadow: 0 16px 48px #E3E7EB; } 
</style> <!-- Sidebar Widgets Column --> <div class="col-md-4 float-right 
"> <div class="card my-4"> <h5 class="card-header">About Us</h5> <div 
class="card-body"> <p class="card-text"> This awesome blog is made on the 
top of our Favourite full stack Framework 'Django', follow up the tutorial 
to learn how we made it..!</p> <a 
href="https://djangocentral.com/building-a-blog-application-with-django"; 
class="btn btn-danger">Know more!</a> </div> </div> </div> {% endblock 
sidebar %}

Next, create the index.html file of our blog that’s the homepage.
{% extends "base.html" %} {% block content %} <style> body { font-family: 
"Roboto", sans-serif; font-size: 18px; background-color: #fdfdfd; } 
.head_text { color: white; } .card { box-shadow: 0 16px 48px #E3E7EB; } 
</style> <header class="masthead"> <div class="overlay"></div> <div 
class="container"> <div class="row"> <div class=" col-md-8 col-md-10 
mx-auto"> <div class="site-heading"> <h3 class=" site-heading my-4 mt-3 
text-white"> Welcome to my awesome Blog </h3> <p class="text-light">We Love 
Django As much as you do..! &nbsp </p> </div> </div> </div> </div> 
</header> <div class="container"> <div class="row"> <!-- Blog Entries 
Column --> <div class="col-md-8 mt-3 left"> {% for post in post_list %} 
<div class="card mb-4"> <div class="card-body"> <h2 class="card-title">{{ 
post.title }}</h2> <p class="card-text text-muted h6">{{ post.author }} | 
{{ post.created_on}} </p> <p class="card-text">{{post.content|slice:":200" 
}}</p> <a href="{% url 'post_detail' post.slug %}" class="btn 
btn-primary">Read More &rarr;</a> </div> </div> {% endfor %} </div> {% 
block sidebar %} {% include 'sidebar.html' %} {% endblock sidebar %} </div> 
</div> {%endblock%}

With the {% extends %} template tag, we tell Django to inherit from the 
base.html template. Then, we are filling the content blocks of the base 
template with content.

Notice we are using for loop 
<https://djangocentral.com/while-loops-in-python/> in HTML that’s the power 
of Django templates it makes HTML Dynamic. The loop is iterating through 
the posts and displaying their title, date, author, and body, including a 
link in the title to the canonical URL of the post.

In the body of the post, we are also using template filters to limit the 
words on the excerpts to 200 characters. Template filters allow you to 
modify variables for display and look like {{ variable | filter }}.

Now run the server and visit http://127.0.0.1:8000/ you will see the 
homepage of our blog.

Looks good..!

You might have noticed I have imported some dummy content to fill the page 
you can do the same using this lorem ipsum generator tools.

Now let’s make an HTML template for the detailed view of our posts.

Next, Create a file post_detail.html and paste the below HTML there.
{% extends 'base.html' %} {% block content %} <div class="container"> <div 
class="row"> <div class="col-md-8 card mb-4 mt-3 left top"> <div 
class="card-body"> <h1>{% block title %} {{ object.title }} {% endblock 
title %}</h1> <p class=" text-muted">{{ post.author }} | {{ post.created_on 
}}</p> <p class="card-text ">{{ object.content | safe }}</p> </div> </div> 
{% block sidebar %} {% include 'sidebar.html' %} {% endblock sidebar %} 
</div> </div> {% endblock content %}  

On Thursday, October 8, 2020 at 7:01:21 PM UTC+5:30 [email protected] 
wrote:

> What do i need to do?,thanks.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/ee0778d3-7bec-4a70-9541-ab14868e1ccbn%40googlegroups.com.

Reply via email to