python开发个人博客_Django、Python搭建个人博客、个人网站

搭建个人博客

前言:

这篇文章说出了我,不止我,以及和我一样的刚入行的菜鸟的心声

写博客,建网站,不是为了炫耀啥知识,更不是为了消遣,而是总结自己的知识,完善结构体系,抒发自己的感受罢了

进入正题

1、目录结构

1460000021031525

其中最主要的模块为ArticleApp有关文章的模块

然后就是UserApp 有关用户的模块,登录、注册、评论关联、留言等

其次就是OtherApp和PersonalSpaceApp包括个人动态、公告 、广播消息、友链 、等

其它模块本来想做完善点的,但是由于各种原因,看以后有没有时间吧,本来想建立一个分层的架构,类似mvc的,想想一个小博客网站,加上自己能力不足,就放弃了

2、表结构

先上图

核心模块

从左到右从上到下

用户表

评论表:faher_comment_id是自连接,代表是评论还是回复,有father说明是回复

分类表

文章表

标签文章多对多中间表

标签表

专题表

1460000021031526

边缘模块

友链表

个人动态表

公告表

用户表

留言表

陌生用户表:根据ip自动建立,用于统计访问人数和访问量

1460000021031532

3、访问量统计

import uuid

from django.db.models import F

from UserApp.models import StrangeUser, UserAccount

USER_KEY = 'uid'

class UserAccessMiddleWare:

def __init__(self,get_response):

self.get_response = get_response

def __call__(self,request):

email = request.session.get('user_email')

if email: //如果用户已经登录 则增加访问量

UserAccount.objects.filter(email=email).update(access_count = F('access_count')+1)

request.user_account = UserAccount.objects.filter(email=email)[0]

else:

request.user_account = None

sUser = self.get_sUser(request)

request.sUser = sUser

response = self.get_response(request)

return response

def get_sUser(self,request)://获取陌生用户ip 并且入库

uid = request.session.get(USER_KEY)

if uid!=None:

sUser = StrangeUser.objects.filter(uid=uid)

sUser.update(access_count=F('access_count') + 1)

return sUser[0]

else:

uid = request.META.get('REMOTE_ADDR')

request.session.set_expiry(60*60*24*10)

request.session[USER_KEY] = uid

sUser = StrangeUser.objects.filter(uid=uid)

if len(sUser): //如果是新用户 则入库

sUser.update(access_count=F('access_count')+1)

else:

sUser=[]

ssUser = StrangeUser()

ssUser.uid = uid

ssUser.access_count = 1

ssUser.save()

sUser.append(ssUser)

return sUser[0]

4、项目截图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Django快速搭建一个博客系统是非常容易的,下面是一个简单的步骤: 1. 创建一个Django项目 使用以下命令创建一个新的Django项目: ``` $ django-admin startproject myblog ``` 其中`myblog`是你的项目名称。 2. 创建一个应用 使用以下命令创建一个新的应用: ``` $ python manage.py startapp blog ``` 其中`blog`是你的应用名称。 3. 配置数据库 在`settings.py`文件中配置数据库,例如使用SQLite数据库: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } ``` 4. 创建模型 在`models.py`文件中定义博客文章的模型: ```python from django.db import models class Post(models.Model): title = models.CharField(max_length=200) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) ``` 5. 迁移数据库 使用以下命令创建数据库表: ``` $ python manage.py makemigrations $ python manage.py migrate ``` 6. 创建视图 在`views.py`文件中定义博客文章的视图: ```python from django.shortcuts import render from .models import Post def post_list(request): posts = Post.objects.all() return render(request, 'blog/post_list.html', {'posts': posts}) ``` 7. 创建模板 在`templates/blog`目录中创建一个`post_list.html`文件: ```html {% for post in posts %} <h2>{{ post.title }}</h2> <p>{{ post.content }}</p> {% endfor %} ``` 8. 配置URL 在`urls.py`文件中配置博客文章的URL: ```python from django.urls import path from . import views urlpatterns = [ path('', views.post_list, name='post_list'), ] ``` 9. 运行服务器 使用以下命令运行开发服务器: ``` $ python manage.py runserver ``` 现在你的博客系统已经可以运行了,访问`http://localhost:8000/`即可查看博客文章列表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值