关注各种黑科技
B站UP主,编程教学,游戏玩家,挂B,金牛座

Django2免费视频教程5:克隆一个wordpress博客应用 模型创建管理

在本系列课程中,我直接用blog的例子来演示django的整体开发流程,学习完成之后我们还会介绍如何把本地开发好的项目,部署到服务器上去,供网友访问。

本课使用了这个免费的wordpress主题
https://github.com/understrap/understrap

我们在视频中一边写django代码,一边移植php的主题到django中去。

你可以在电脑上安装xampp环境测试wordpress

https://wordpress.org/download/
https://www.apachefriends.org/download.html

首先在wp中安装主题

分析页面结构

配置数据库
由于我们要通过wordpress数据库的表定义自动生产models.py,所以需要添加一个除default数据库以外的wordpress数据库配置项。同时我们的default数据库也从sqlite转到mysql。

原sqlite,注意sqlite里一个文件应该是对应一个db,所以没有NAME,migrate时不用提前新建db。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

现mysql

DATABASES = {
    'default': {
        'NAME': 'mydjsite',
        'HOST': '127.0.0.1',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'root',
        'PASSWORD': ''
    },
    'wordpress': {
        'NAME': 'pycave',
        'HOST': '127.0.0.1',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'root',
        'PASSWORD': ''
    }
}

在django中生成wp模型

inspectdb --database wordpress  #复制输出内容到我们的blog/models.py里
makemigrations blog
migrate

用django后台管理模型数据

admin.py

from django.contrib import admin

from blog.models import WpCommentmeta, WpComments, WpLinks, WpOptions, WpPostmeta, WpPosts, WpTermmeta, \
    WpTermRelationships, WpTerms, WpTermTaxonomy, WpUsermeta, WpUsers

admin.site.register(WpCommentmeta)
admin.site.register(WpComments)
admin.site.register(WpLinks)
admin.site.register(WpOptions)
admin.site.register(WpPostmeta)
admin.site.register(WpPosts)
admin.site.register(WpTermmeta)
admin.site.register(WpTermRelationships)
admin.site.register(WpTerms)
admin.site.register(WpTermTaxonomy)
admin.site.register(WpUsermeta)
admin.site.register(WpUsers)

字段设为选填

blank=True, null=True

用标题显示数据行对象

    def __str__(self):
        return self.post_title

参考
https://www.jianshu.com/p/037bd7e20a7a

转载请注明出处
分享到: 更多 (0)

评论 2