Login
网站首页 > 文章中心 > 其它

Python_Django实现个人博客系统的搭建

作者:小编 更新时间:2023-08-14 13:23:29 浏览量:126人看过

简介

Python的Django框架在web开发中应用广泛,本文将介绍如何使用Django框架搭建个人博客系统.该博客系统除常见博客功能外,还包含用户身份验证,文章归档,评论系统等功能.

必要的工具及技能

在开始搭建博客系统前,需要准备好以下工具及技能:

Django

Python_Django实现个人博客系统的搭建-图1

HTML,CSS,JavaScript等前端技能

配置Django环境

通过pip安装Django bash (myvenv) $ pip install django

创建Django项目

通过Django CLI创建新项目 bash (myvenv) $ django-admin startproject myproject

创建博客应用

通过Django CLI创建新应用 bash (myvenv) $ cd myproject (myvenv) $ python manage.py startapp blog


Python_Django实现个人博客系统的搭建-图2

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页面

创建博客系统的HTML页面

在myproject/templates/blog目录下添加post_list.html,post_detail.html和post_edit.html文件

可以使用Bootstrap等前端框架渲染博客页面

{% block content %}

{{ post.title }}

{{ 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实现个人博客系统的搭建相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章