2.1.博客首页设计
(1)settings.py
MEDIA_ROOT = os.path.join(BASE_DIR,'media').replace("//","/") MEDIA_URL = '/media/'
(2)website/urls
添加图片的url
from django.conf.urls import url,include
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^blog/',include('blog.urls') ),
] + static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT ) #添加图片的url
(3)blog/models.py
添加两个方法
class Entry(models.Model):
.
.
.
def get_absolute_url(self):
#获取当前博客详情页的url
return reverse("blog:blog_detail",kwargs={"blog_id":self.id}) #app名字,详情页url的别名,参数是当前博客的id
def increase_visiting(self):
#访问量加1
self.visiting += 1
self.save(update_fields=['visiting']) #只保存某个字段
(4)views.py
from django.shortcuts import render
from . import models
def index(request):
entries = models.Entry.objects.all()
return render(request,'blog/index.html',locals())
def detail(request,blog_id):
entry = models.Entry.objects.get(id=blog_id)
entry.increase_visiting()
return render(request,'blog/detail.html',locals())
(5)index.py
{% extends 'blog/base.html' %}
{% block title %}博客首页{% endblock %}
{% block content %}
{% for entry in entries %}
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?
立即登录/注册
微信扫码登录