Django-共享模板使用

项目结构

Django-共享模板使用_第1张图片

主要内容

Models 内容

from django.db import models

# Create your models here.
from django.utils import timezone

# Create your models here.

class Post(models.Model):
    title = models.CharField(max_length=200 ,null=False)
    slug = models.CharField(max_length=200 ,null=False)
    body = models.TextField(null=False)
    pub_date = models.DateTimeField(default=timezone.now)

Views内容

from django.shortcuts import render
from django.http import HttpResponse
from django.shortcuts import redirect
from django.template.loader import  get_template
from datetime import datetime
from .models import Post
# Create your views here.

def homepage(request):
    template = get_template('index.html')
    html = template.render(locals())
    return HttpResponse(html)

def index(request):
    template = get_template('index.html')
    posts = Post.objects.all()
    now = datetime.now()
    html = template.render(locals())
    return HttpResponse(html)

def home(request):
    template = get_template('home.html')
    posts = Post.objects.all()
    now = datetime.now()
    html = template.render(locals())
    return HttpResponse(html)

def showpost(request,slug):
    template = get_template('post.html')
    try:
        post = Post.objects.get(slug = slug)
        if post != None:
            html = template.render(locals())
            return HttpResponse(html)
    except:
        return redirect('/')

def showdetail(request,slug):
    template = get_template('show.html')
    try:
        post = Post.objects.get(slug = slug)
        if post != None:
            html = template.render(locals())
            return HttpResponse(html)
    except:
        return redirect('/')

URL内容

from django.contrib import admin
from django.urls import path
from django.conf.urls import include,url
from mblog import views

urlpatterns = [
    #url(r'^$', views.homepage),
    #url(r'^$',  views.index),
    url(r'^$',  views.home),
    #url(r'^post/(\w+)$', views.showpost),
    url(r'^post/(\w+)$', views.showdetail),
    path('admin/', admin.site.urls),
]

 

模板文件内容

base.html内容



{% load staticfiles %}


    
    
        {% block title %} {% endblock %}
    









    
{% include 'header.html' %}
{% block headmessage %} {% endblock %}
{% block content %} {% endblock %}

Home.html内容


{% extends 'base.html' %}
{% block title %} 欢迎光临我的博客 {% endblock %}
{% block headmessage %}

    

本站文章列表

{% endblock %} {% block content %} {% for post in posts %}

{{ post.body | truncatechars:40 }}


{% endfor %} {% endblock %}

header.html 内容

{% load staticfiles %}
  

内蒙古西贝餐饮集团有限公司

footer.html

{% block footer %}
   {% if now %}
       

页脚显示内容,现在时刻:{{ now }}

{% else %}

本文内容取自练习,如有侵权请来信通知下架...

{% endif %} {% endblock %}


 

 

 

 

你可能感兴趣的:(Django相关)