Python的Django框架在web开发中应用广泛,本文将介绍如何使用Django框架搭建个人博客系统.该博客系统除常见博客功能外,还包含用户身份验证,文章归档,评论系统等功能.
在开始搭建博客系统前,需要准备好以下工具及技能:
Django
HTML,CSS,JavaScript等前端技能
通过pip安装Django bash (myvenv) $ pip install django
通过Django CLI创建新项目 bash (myvenv) $ django-admin startproject myproject
通过Django CLI创建新应用 bash (myvenv) $ cd myproject (myvenv) $ python manage.py startapp blog
def publish(self): return self.title
def approve(self):
return self.text
class PostForm(forms.ModelForm):
class Meta:
fields = ('title', 'text',)
class CommentForm(forms.ModelForm):
class Meta:
fields = ('author', 'text',)
创建博客系统的HTML页面
在myproject/templates/blog目录下添加post_list.html,post_detail.html和post_edit.html文件
可以使用Bootstrap等前端框架渲染博客页面
{% block content %}
{{ post.text|linebreaksbr }}
{% endfor %}
{% endblock content %}
{{ post.published_date }}
{{ comment.author }}
{{ comment.text|linebreaksbr }}
{% empty %}
No comments here yet :(
{% endblock content %} - 创建base.html作为页面的基本框架,作为其他模板继承html
Blog
+ New post
{% endif %} {% if user.is_authenticated %}
Welcome {{ user.username }}
Logout
{% else %}
Login
Signup
{% endif %}
启动Django服务器 bash (myvenv) $ python manage.py runserver
示例1:添加用户身份验证
为了添加用户身份验证,我们需要在模型中定义用户,添加用户注册和登录的视图函数.
用户模型
# 基于Django内置的auth User模型扩展UserProfile模型
from django.contrib.auth.models import User
from django.db import models
class UserProfile(models.Model):
return self.user.username
用户注册视图函数
from django.shortcuts import render, redirect
from django.contrib.auth import login, authenticate
from django.contrib.auth.forms import UserCreationForm
def signup(request):
return render(request, 'registration/signup.html', {'form': form})
用户登录视图函数
from django.shortcuts import render, redirect
from django.contrib.auth.forms import AuthenticationForm
from django.contrib.auth import login
def login_view(request):
return render(request, 'registration/login.html', {'form': form})
在博客系统中添加文章归档需要在视图函数内根据发布时间进行聚类.
归档视图函数
from django.shortcuts import render
from django.db.models import Count
from blog.models import Post
def post_archive(request):
return render(request, 'blog/post_archive_list.html', context)
归档HTML模板
归档URL定义
from django.urls import path
from blog.views import post_archive_list, post_archive_year, post_archive_month, post_archive_day
urlpatterns = [
path('archive//', post_archive_year, name='post_archive_year'),
path('archive///', post_archive_month, name='post_archive_month'),
path('archive////', post_archive_day, name='post_archive_day'),
]
通过本文的介绍,您可以完成一个基本的个人博客系统搭建.在博客系统中包含用户身份验证和文章
以上就是土嘎嘎小编为大家整理的Python_Django实现个人博客系统的搭建相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!