1.settings.py这里按sqlite3自动生成的数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
2.models.py 建立表
# coding:utf8
from __future__ import unicode_literals
from django.db import models
# Create your models here.
class Category(models.Model):
"""
博客分类
"""
name = models.CharField('名称', max_length=30)
def __unicode__(self):
return self.name
class Tag(models.Model):
"""
博客标签
"""
name = models.CharField('名称', max_length=16)
def __unicode__(self):
return self.name
class Blog(models.Model):
"""
博客
"""
title = models.CharField('标题', max_length=32)
author = models.CharField('作者', max_length=16)
content = models.TextField('博客正文')
created = models.DateTimeField('发布时间', auto_now_add=True)
category = models.ForeignKey(Category, verbose_name='分类', on_delete=models.CASCADE)
tags = models.ManyToManyField(Tag, verbose_name='标签')
def __unicode__(self):
return self.title
class Comment(models.Model):
"""
评论
"""
blog = models.ForeignKey(Blog, verbose_name='博客', on_delete=models.CASCADE)
name = models.CharField('称呼', max_length=16)
email = models.EmailField('邮箱')
content = models.CharField('内容', max_length=240)
created = models.DateTimeField('发布时间', auto_now_add=True)
def __unicode__(self):
return self.content
执行命令
Python manage.py makemigrations blogapp
python manage.py migrate
数据库创建表后的效果如下
3.登录django后台管理界面
Python manage.py createsuperuser
4.调整工程下的url.py
from django.contrib import admin
from django.urls import path
from django.conf.urls import url, include
"""
urlpatterns = [
path('admin/', admin.site.urls),
]
"""
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/', include('blogapp.urls')),
]
新建app下的url.py
from django.contrib import admin
from django.urls import path
from blogapp import views
from django.conf.urls import url
"""
urlpatterns = [
path('admin/', admin.site.urls),
]
"""
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', views.index),
]
5 admin.py注册数据库
from django.contrib import admin
from blogapp.models import *
# Register your models here.
admin.site.register(Category)
admin.site.register(Blog)
admin.site.register(Tag)
admin.site.register(Comment)
运行后如下,此时可以管理表内容,可以脱离数据库可视化操作