谷姐:我们都是谷歌迷
We are all Google fans

[技术向]把Django迁移到WordPress-sharp097

Rate this post

discuz贴的代码没有高亮,排版也不太好看,感兴趣的可以前往我的博客看一下:
https://sharpgan.com/wordpress-to-django/
首先展示一下Django的表结构:

    class Category(models.Model):
    category_name = models.CharField(max_length=200)

    def __str__(self):
    if self.category_name:
    return self.category_name

    class Meta:
    verbose_name = "分类"
    verbose_name_plural = verbose_name

    class Tag(models.Model):
    tag_name = models.TextField(max_length=100)

    def __str__(self):
    if self.tag_name:
    return self.tag_name

    class Meta:
    verbose_name = "标签"
    verbose_name_plural = verbose_name

    class PostManager(models.Manager):
    def distinct_date(self):# 该管理器定义了一个distinct_date方法,目的是找出所有的不同日期
    distinct_date_list = []# 建立一个列表用来存放不同的日期 年-月
    date_list = self.values('post_date')# 根据文章字段date_publish找出所有文章的发布时间
    for date in date_list:# 对所有日期进行遍历,当然这里会有许多日期是重复的,目的就是找出多少种日期
    date = date['post_date'].strftime('%Y年%m月')# 取出一个日期改格式为 ‘xxx年/xxx月 存档’
    if date not in distinct_date_list:
    distinct_date_list.append(date)
    return distinct_date_list

    class Post(models.Model):
    title = models.CharField(max_length=200)
    slug = models.SlugField(max_length=255,unique=True)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    post_date = models.DateTimeField(auto_now_add=True)
    comment_status = models.CharField(choices=COMMENT_STATUS_CHOICES,
    default=('opened', 'opened'), max_length=20)
    content = RichTextUploadingField(config_name='default')
    tag = models.ManyToManyField('Tag', blank=True)
    category = models.ForeignKey(Category, related_name='category', null=True, on_delete=models.CASCADE)
    objects = PostManager()
    is_wordpress = models.CharField(choices=IS_WORDPRESS, default=('yes', 'yes'), max_length=10)
    price = models.FloatField(blank=True, null=True)

    class Meta:
    verbose_name = "文章"
    verbose_name_plural = '\u200B' + verbose_name
    ordering = ["-post_date"]

    def __str__(self):
    if self.title:
    return self.title

    def get_absolute_url(self):
    return reverse('article_detail', args=[str(self.slug)])

    class Comments(MPTTModel):
    post = models.ForeignKey(Post, on_delete=models.CASCADE)
    user_name = models.CharField(max_length=20)
    email = models.CharField(max_length=50)
    comment_date = models.DateTimeField(auto_now=True)
    content = models.TextField(max_length=1000)
    parent = TreeForeignKey('self', on_delete=models.CASCADE, null=True, blank=True, related_name='children')
    approved = models.CharField(choices=COMMENT_APPROVED_CHOICES,
    default=('refused', 'refused'), max_length=20)

    def __str__(self):
    if self.content:
    return self.content

    class Meta:
    verbose_name = "评论"
    verbose_name_plural = verbose_name
    ordering = ["-comment_date"]

    class Order(models.Model):
    order_id = models.CharField(max_length=25)
    order_done_datetime = models.DateTimeField(auto_now_add=True)
    slug = models.CharField(max_length=200)

    def __str__(self):
    if self.order_id:
    return self.order_id
    class Meta:
    verbose_name = "订单"
    verbose_name_plural = verbose_name
    ordering = ["-order_done_datetime"]

然后是WordPress迁移到Django的实战代码:
[code]#!/usr/bin/env python3
# coding=utf-8

import pymysql
import sqlite3
from pymysql.connections import Connection
from pymysql.cursors import Cursor
from pymysql.connections import Connection as MyConnection

class MysqlConn():
def db_connector(self) -> Connection:
"""
功能:用于数据库初始化连接,获取db实例对象
:return: db连接对象
"""
common_db_config = {'host': '192.168.0.1',
'user': 'root',
'port': 3306,
'passwd': '123456root',

热议
2楼 sharp097 昨天22:36

卧槽,第一次发表被拦截了,第二次怎么被截断了,感兴趣的去我博客看一下吧

3楼 飞鱼8 昨天22:44

大佬们现在做站用什么程序 ?

4楼 蛋饼 昨天22:44

广告屏蔽进不去

5楼 sharp097 昨天22:54

大佬们现在做站用什么程序 ?

现在用的wp哈

6楼 rcdfrd 昨天22:54

支持技术贴

7楼 Antony 昨天22:57

支持技术贴

8楼 sharp097 昨天23:01

广告屏蔽进不去

帮忙加一下白名单再试试哈~

9楼 暗夜精灵 1小时前

不都是Django迁移到WordPress 你这是WordPress 迁移到Django???

10楼 sharp097 半小时前

暗夜精灵 发表于 2023-1-3 08:17
不都是Django迁移到WordPress 你这是WordPress 迁移到Django???

我左右两边反复横跳,哈哈

申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。

未经谷姐允许不得转载:谷姐靓号网 » [技术向]把Django迁移到WordPress-sharp097
分享到: 生成海报

热门文章

评论 抢沙发

评论前必须登录!

立即登录   注册

买Google Voice认准【谷姐靓号网】

Google Voice靓号列表Google Voice自助购买
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活