admin管理后台
1.基于django初始化一个项目
1.conda activate 虚拟名字#进入虚拟环境
2.django-admin startproject blog#创建一个项目blog
3.cd blog #进入blog项目文件夹中
4.python manage.py startapp app的名字#创建一个app
-
初始化数据库(django自带的sqlite)
1.python manage.py migrate#django项目自带sqlite,初始化数据库
2.第一个启动项目会自动创建数据库
3.创建超级管理用户
1.python manage.py #查看命令选项
2.python manage.py createsuperuser#创建超级管理用户
- python manage.py createsuperuser#创建超级管理用户
-
启动项目进入:
4.汉化配置(setting.py)
5.创建app(模型类)(myapp/models.py)
from django.db import models
# Create your models here.
class Tag(models.Model):
'''标签表'''
tag_name=models.CharField(max_length=20)#标签名字
class Category(models.Model):
'''分类表'''
category_name=models.CharField(max_length=20)#分类
class Post(models.Model):
''''''
title=models.CharField(max_length=20)#文章标题
content=models.TextField()#文章内容
desc=models.CharField(max_length=100)
tag=models.ManyToManyField(Tag)#多对多
category=models.ForeignKey(Category,models.CASCADE)#一对多 分类
6.myapp/admin.py中注册模型类
from django.contrib import admin
from .models import Tag,Category,Post #.表示同级目录
# Register your models here.
admin.site.register(Tag)#admin后台注册
admin.site.register(Category)#
admin.site.register(Post)
前端报错:
OperationalError at /admin/myapp/tag/
no such table: myapp_tag
原因是新建数据表需要迁移。
7.数据表迁移(每次更新数据表都需要
#1.生成迁移表(只是生成了一个py文件)
python manage.py makemigrations
#2.执行迁移(数据库更新)
python manage.py migrate
8.MVT的综合使用
1.myapp/models.py同上(M)
略
2.myapp/views.py(V)
from django.shortcuts import render
from django.http import HttpResponse
from .models import *
# Create your views here.
def index(request):
post_list=Post.objects.all()#获取所有文章实例
context={
'text':post_list,
}
return render(request,'index2.html',context=context)
3.templates/index.html(T)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>欢迎来到学习Django框架学习</h1>
{% for p in text %}
<div style="background-color: pink">
<p>title:{{ p.title }}</p>
<p>content:{{ p.content }}</p>
<p>tag:{{ p.tag }}</p>
<p>desc:{{ p.desc }}</p>
{#<p>且</p>#}
</div>
{% endfor %}
</body>
</html>
标签:manage,admin,py,day2,django,models,后台,python
From: https://www.cnblogs.com/positive-boy/p/18342341