在应用下创建模板文件夹
需要创建和项目下的模板文件名相同的名字(原因: 'APP_DIRS': True,)
在模板设置下的 'APP_DIRS': True,表示在应用下寻找与项目下同名的文件夹
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
由于多个应用下的templates都同名
需要在应用下创建一个文件夹
Django下创建管理员用户名和密码
(venv) F:\PythonWorkPlace\demo1>python manage.py createsuperuser
Username (leave blank to use 'administrator'): admin_name
Email address: 123456@qq.com
Password:
Password (again):
Superuser created successfully.
(venv) F:\PythonWorkPlace\demo1>
关于django站点的管理员管理
找到项目下路由中admin(可改写)的路径
打开路径使用账号密码登录站点管理页面
修改设置 汉化 settings.py
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = True
将数据库表数据存入站点
models.py
from django.db import models
# Create your models here.
class Student(models.Model):
name = models.CharField(max_length=32)
age = models.IntegerField()
score = models.FloatField()
hobby = models.CharField(max_length=32)
def __str__(self):
return self.name
admin.py
from django.contrib import admin
from .models import Student
# Register your models here.
# 注册数据模型
'''
管理员对站点的管理
'''
admin.site.register(Student)
models.py 中类中写入 str方法后
站点模型管理类
from django.contrib import admin
from django.contrib.admin import ModelAdmin
from .models import Student
# Register your models here.
# 创建一个管理模型的类
class Student_admin(ModelAdmin):
list_display = ('name','age','score','hobby')
# 注册数据模型
'''
管理员对站点的管理
register 第一个参数: 将数据库表通过类的形式添加到站点
第二个参数: 管理模型类(继承ModelAdmin) 类中定义数据怎么排版
如果没有第二个参数则默认django内部的模型管理类
该类list_display = '__str__'
'''
admin.site.register(Student,Student_admin)
默认的第二个参数 模型管理类
默认模板管理类中元祖对页面的修饰渲染
from django.contrib import admin
from django.contrib.admin import ModelAdmin
from .models import Student
# Register your models here.
# 创建一个管理模型的类
class Student_admin(ModelAdmin):
# 数据模型的展示形式
list_display = ('name','age','score','hobby','birthday')
# 搜索框搜索查找
search_fields = ('name','age')
# 通过条件过滤查找 (过滤器)
list_filter = ('age','hobby')
# 每一页显示几条数据
list_per_page = 3
# 页面最多显示多少条数据
list_max_show_all = 5
# 注册数据模型
'''
管理员对站点的管理
register 第一个参数: 将数据库表通过类的形式添加到站点
第二个参数: 管理模型类(继承ModelAdmin) 类中定义数据怎么排版
如果没有第二个参数则默认django内部的模型管理类
该类list_display = '__str__'
'''
admin.site.register(Student,Student_admin)
案例(一) 创建一个图书管理页面
0.创建管理员站点账号密码
(venv) F:\PythonWorkPlace\demo1>python manage.py createsuperuser
Username (leave blank to use 'administrator'): admin_name
Email address: 123456@qq.com
Password:
Password (again):
Superuser created successfully.
(venv) F:\PythonWorkPlace\demo1>
汉化
修改设置 汉化 settings.py
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = True
1. models.py 设置数据库表类
from django.db import models
# Create your models here.
class Book(models.Model):
name = models.CharField(max_length=32)
price = models.FloatField()
author = models.CharField(max_length=32)
addr = models.CharField(max_length=32)
进行数据迁移
python manage.py makemigrations
python manage.py migrate
2.创建模型管理类
from django.contrib import admin
from django.contrib.admin import ModelAdmin, AdminSite
from .models import Student
from .models import Book
# 图书模型管理类
class Book_admin(ModelAdmin):
list_display = ('name','price','author','addr')
list_per_page = 3
list_filter = ('price',)
# 注册模型管理类
admin.site.register(Book,Book_admin)
3. 打开浏览器访问管理员路径对后台数据进行操作