Django显示博客信息标题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/85017938

一 显示博客信息

二 Django shell实战

(venv) E:\Django\mysite\mysite>python manage.py shell
Python 3.6.7 (v3.6.7:6ec5cf24b7, Oct 20 2018, 13:35:33) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.contrib.auth.models import User
>>> from blog.models import BlogArticles
>>> user = User.objects.get(username ="admin")
>>> user.username
'admin'
>>> user.id
1
>>> user.password
'pbkdf2_sha256$36000$Mpx8Ze5BaXu4$nxeHOOcOdheYjpG/dFOSEH9aDB9r+Gv1oGtRGlEpH8U='
>>> user.email
'[email protected]'
>>> type(user)
<class 'django.contrib.auth.models.User'>
>>> blogs = BlogArticles.objects.all()
>>> for blog in blogs:
...     print(blog.title)
...
Django发布博客文章

三 编写mysite/blog/views.py

from django.shortcuts import render

from .models import BlogArticles
# 基于函数的视图,这个函数叫视图函数
# 函数的参数是request,这个参数负责响应所接受到的请求且不能缺少
# 并总位于第一的位置,还可以根据需要在后面增加别的参数。
def blog_title(request):
    # 得到所有的BlogArticles对象实例。
    blogs = BlogArticles.objects.all()
    # 将数据渲染到指定模板上。
    # 第1个参数必须是request
    # 然后是模板位置和所传达的数据。
    # 数据是用字典形式传达给模板的。
    return render(request, "blog/titles.html", {"blogs":blogs})

四 编写模板

1 编写父模板mysite/blog/templates/base.html

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!--模板中定义的块-->
    <title>{% block title %}{% endblock %}</title>
    <!--引入网络样式文件-->
    <link rel="stylesheet" href="https://github.com/necolas/normalize.css/blob/master/normalize.css">
    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        <!--模板中定义的块-->
        {% block content %}
        {% endblock %}
    </div>
<!--引入网络js文件-->
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"> </script>
</body>
</html>

2 编写标题模板mysite/blog/templates/blog/titles.html

<!--继承已经建立的模板base.html-->
{% extends "base.html" %}
<!--重写块标签-->
{% block title %}博客标题{% endblock %}
{% block content %}
<div class="row text-center vertical-middle-sm">
    <h1>我的博客</h1>
</div>
<div class="row">
    <div class="col-xs-12 col-md-8">
    <ul>
    {% for blog in blogs %}
        <li><a href="{{ blog.id }}">{{ blog.title }}</a></li>
    {% endfor %}
    </ul>
    </div>
    <div class="col-xs-6 col-md-4">
    <h2>欢迎访问我的CSDN</h2>
    <p>https://blog.csdn.net/chengqiuming</p>
    <img width="200px" src="https://avatar.csdn.net/9/E/A/1_chengqiuming.jpg?1544877778">
    </div>
</div>
{% endblock %}

五 配置URL

1 配置项目urls.py——mysite/mysite/urls.py

from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^blog/', include("blog.urls", namespace="blog", app_name="blog")),
]

2 配置应用urls.py——mysite/blog/urls.py

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

urlpatterns = [
    url(r"^$", views.blog_title, name="blog_title"),
]

六 运行结果

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/85017938