python Django搭建简单的个人博客网站(三)

上节利用了Django admin搭建了博客的框架,现在手动完成简单的前后端逻辑

一.博客主页面

主页面包含文章标题列表(超链接)发表博客的按钮(超链接)

1.列表编写思路

取出数据库中所有文章对象

将文章对象们打包成列表,传递到前端

前端页面把文章以标题超链接的形式账户个列出

编辑view.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.shortcuts import render  
from django.http import HttpResponse  
from .import models  
  
def index(request):  
  aticles = models.Article.objects.all()  
  return render(request, 'blog/index.html', {'aticles': aticles})
编辑index.py

<!DOCTYPE html>  
<html lang="en">  
<head>  
  <meta charset="UTF-8">  
  <title>Title</title>  
</head>  
<body>  
 <h1>
 <a href=''>我的博客</a>
 </h1>
 {%for aticle in aticles%}
 <a href =''>{{aticle.title}}</a>
 <br/>
 {%endfor%}
</body>  
</html>  

二.博客文章页面

页面内容包括:标题、文章内容、修改文章按钮(超链接)

1.在APP目录下的templates/blog目录下新建article_page.html文件,并编辑

<!DOCTYPE html>  
<html lang="en">  
<head>  
  <meta charset="UTF-8">  
  <title>Aticle Page</title>  
</head>  
<body>  
 <h1>{{article.title}}</h1>
 <br/>
 <h3>{{article.content}}</h3>
 <br/><br/>
 <a href=''>编辑文章</a>
</body>  
</html>  

2.编辑APP目录下的views.py,article_page中定义了参数article_id

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.shortcuts import render  
from django.http import HttpResponse  
from .import models  
  
def index(request):  
  aticles = models.Article.objects.all()  
  return render(request, 'blog/index.html', {'aticles': aticles})
  
def article_page(request,article_id):
	article = models.Article.objects.get(pk=article_id)
	return render(request,'blog/article_page.html',{'article':article})

3.编辑APP目录下的urls.py,正则匹配article_id

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

urlpatterns = [
	url(r'^$', views.index),
	url(r'^article/(?P<article_id>[0-9]+)$', views.article_page),
]
4.在浏览器地址栏输入127.0.0.1/blog/article/1,其中1参数article_id,

5.Django中的超链接

HTML页面中a标签中href后面是目标地址

template中可以用{%url 'app_name:url_name' param%}\

其中app_name和url_name都在url中配置

url函数的名称参数

工程目录下,写在include()的第二个参数的位置,namesapce = 'blog'

应用下则写在url()的第三个参数位置,name=‘article_page’
主要取决于是否使用include引用了另外一个url配置文件


三.撰写的博客页面

-----------------------------------------------------------------待更--------------------------------------------

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值