利用django 实现个人博客 全记录(二)

上一篇文章已经把基础环境搭建好了

一  创建app

    D:\学习\python3.7.3\python manage.py startapp blog

    修改 博客的 models.py

class Blog(models.Model):    title = models.CharField(max_length=50)    #这里要注意外键关联 如果 关联的类没有在之前没用定义 那么一定要加引号   这里采用一个博客对应一个博客类型 一一对应blog_type = models.ForeignKey(‘BlogType‘,on_delete=models.DO_NOTHING)    content = models.TextField()    author = models.ForeignKey(User,on_delete=models.DO_NOTHING)    created_time = models.DateTimeField(auto_now_add=True)    last_updated_time = models.DateTimeField(auto_now=True)    def __str__(self):        return "<Blog: %s>" %self.title

class BlogType(models.Model):    type_name=models.CharField(max_length=15)

    def __str__(self):        return self.type_name

模板修改好了  还需要修改settings.py 文件

加入

import pymysql         # 一定要添加这两行!通过pip install pymysql!
pymysql.install_as_MySQLdb()

DATABASES = {
    ‘default‘: {
        ‘ENGINE‘: ‘django.db.backends.mysql‘,
        ‘NAME‘: ‘mysite‘,
        ‘HOST‘: ‘123.2X7.XX9.194‘,
        ‘USER‘: ‘root‘,
        ‘PASSWORD‘: ‘XXX‘,
        ‘PORT‘: ‘3306‘,
    }
}

#修改
LANGUAGE_CODE = ‘zh-Hans‘

TIME_ZONE = ‘Asia/Shanghai‘

USE_I18N = True

USE_L10N = True

USE_TZ = True
INSTALLED_APPS = [    ‘django.contrib.admin‘,    ‘django.contrib.auth‘,    ‘django.contrib.contenttypes‘,    ‘django.contrib.sessions‘,    ‘django.contrib.messages‘,    ‘django.contrib.staticfiles‘,    ‘blog‘,]

安装 pymysql 包

将改变应用于 数据库

>D:\学习\python3.7.3\python manage.py makemigrations

>D:\学习\python3.7.3\python manage.py migrate

   创建超级admin用户

  python manage.py  createsuperuserr

最后 为了能在admin里面显示 需要admin.py里面注册一下

from .models import BlogType,Blog

@admin.register(BlogType)
class BlogTypeAdmin(admin.ModelAdmin):
    list_display = ("id", "type_name")

@admin.register(Blog)
class BlogAdmin(admin.ModelAdmin):
    list_display = ("title","blog_type","author","create_time","last_updated_time" )
# Register your models here.

##也可以
#admin.site.register(BlogType) 这样注册的确定是 全部都会显示在后台 

启动项目发现报错

raise ImproperlyConfigured(‘mysqlclient 1.3.13 or newer is required; you have %s.‘ % Database.__version__)

修改配置文件 注释报错

继续启动还是报错

    query = query.decode(errors=‘replace‘)
AttributeError: ‘str‘ object has no attribute ‘decode‘

继续修改配置文件 把decode 修改为encode

登陆后

原文地址:https://www.cnblogs.com/ZFBG/p/11965722.html

时间: 2024-10-05 05:50:23

利用django 实现个人博客 全记录(二)的相关文章

利用django 实现个人博客 全记录(一)

搭建过程参照 B站 [Django2.0教程]构建个人博客网站  杨仕航 教程 总体规划 1 创建虚拟环境 采用虚拟环境 来安装 方便后续管理 pip install virtualenv 由于国外的源较慢 使用国内源 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv 1.1 开始创建 cd  D:\学习\blogvirtualenv virtualenv mysite_env 发现抱错 后百度发现  pytho

基于django的个人博客网站建立(六)

基于django的个人博客网站建立(六) 前言 今天主要完成的是项目在腾讯云服务器上ubuntu16.04+django+mysql+uwsig+nginx的部署过程 主要内容 按照步骤一步一步说 1.python环境的安装与pip的安装 这里没有采用虚拟环境,是把项目直接运行的,所以要先配置安装好python3,以及使用pip安装相应需要的库,我的项目需要安装django,markdown,pymysql 2.把项目文件从本地放到服务器上 我的项目文件有上传到github,所以直接在服务器上c

鄙人为啥要在博客上记录学到的技术细节?

鄙人是搞软件的,曾经因为一个偶然的机会进入了软件这一行业. 1.为啥要学技术? 学技术嘛,不外乎两个原因.一个是学以致用,另一个就是兴趣了. 学以致用:既然都搞软件了,基本的软件开发知识总得有吧,这就得学了. 兴趣:鄙人从小爱折腾,软件这东西可比其他的东西都耐折腾,想怎么玩你逗可以怎么玩,哈哈-- 2.为啥要学技术细节? 很多人都说:技术就是工具,有需求的时候拿来用就行了,懂点基本的就可以了,不用太关注细节. 鄙人却深不以为然.且不说可扩展性和可复用性了,大多数代码的可读性和可维护性都达不到要求

利用Word来发布博客到博客园(onenote类似)

设置步骤: 选择左上角的按钮,选择发布>博客. 点击"管理帐户",在帐户管理窗口中选择"新建", 在博客服务商中选择"其他". 在API中选择MetaWeblog. 在博客文章URL中博客园的MetaWeblog访问地址,格式为:http://www.cnblogs.com/你的用户名/services/metaweblog.aspx. 在用户名与密码中与中输入你的Blog用户名与密码. 利用Word来发布博客到博客园 Word中使用代码高

用hugo建博客的记录 &middot; 老张不服老

前后累计折腾近6个小时,总算把搭建hugo静态博客的整个过程搞清楚了.为什么用了这么久?主要还是想偷懒,不喜欢读英文说明.那就用中文记录一下过程吧.还是中文顺眼啊. 某日发现自己有展示些东西给外网的需求,又不想通过DDNS在本地电脑上架设服务器,于是决定建一个免费网站.以前帮朋友们建过几个免费网站,知道免费空间大多有种限制或者要有广告.但我只需要展示一两个静态网页就足够,为此还要接受广告心里不爽.在各种搜索下,终于确定github page就是最合适的方案. 不想自己手动逐项设置,打算找一个工具

centos7.3 编译安装lamp,利用wordpress实现个人博客搭建

软件环境:centos7.3 软件包: apr-1.5.2.tar.bz2 apr-util-1.5.4.tar.bz2 httpd-2.4.27.tar.bz2 mariadb-10.2.7-linux-x86_64.tar.gz php-7.1.7.tar.bz2 wordpress-4.8-zh_CN.tar.gz xcache-3.2.0.tar.gz 准备工作: [[email protected] ~]# mkdir /app                      #创建/app

从入门到放弃,.net构建博客系统(二):依赖注入

文章目录:<从入门到放弃,.net构建博客系统> 从入门到放弃,.net构建博客系统(一):系统构建 从入门到放弃,.net构建博客系统(二):依赖注入 上一篇中有讲到项目启动时会进行ioc的依赖注入,但具体是怎么注入的呢?我们先一步步往下走 一.注册autofac配置 首先bootstraper会进行初始化,接着将当前mvc控制器工厂改为AutofacControllerFactory. 1 public class AutofacConfig 2 { 3 /// <summary&g

使用django开发博客过程记录5——日期归档和视图重写

针对每条博客的观看次数我么是使用django的Mixin实现的: def get(self, request, *args, **kwargs): last_visit = request.session.get('last_visit') reset_last_visit_time = False if last_visit: last_visit_time = datetime.datetime.strptime(last_visit[:-7], "%Y-%m-%d %H:%M:%S&quo

Django搭建简易博客教程(01)-Django简介

a-terminal: 写作目的 喜欢一个学习观点以教促学, 一直以来, 学习的时候经常会发现, 某个方法某个问题自己已经明白了, 但是在教给别人的时候确说不清楚, 所以慢慢的学会了以教促学这种方法, 在教给别人知识的同时也能够提升自己对语言, 对框架的理解. 希望达到的目标: 希望能写出一个系列文章, 我也不知道到底能写多少 能够让认真阅读这个系列的文章的人, 能在读完之后做出一个简单的博客 希望能够加深自己对Django的理解 Django简介 Django是Python中目前风靡的Web