Django入门学习笔记(二)

本文是自己学习做的笔记,如有雷同纯属巧合,如有问题请指出,谢谢!

基于环境Ubuntu16.04

python3.6

Django 2.07

二、管理站点的配置
创建一个管理员用户
python manage.py createsuperuser 按照提示输入用户名、邮箱、密码
然后通过127.0.0.1:8000/admin进行访问输入上面的用户名密码完成登陆
更改settings里面的LANGUAGE-CODE 改为zh-hans将网页变为中文网页
在admin里面通过admin.site.register(表格)可以在后台添加表
可以在后台时时增删改查的功能(方便)
在模型类里面加上 def __str__(self)方法可以让列表的相应信息显示在网页中
可能会出错是因为编码的问题 return 列名.encode("utf-8")如果报错了就这么改
但是好像现在django2.07已经不报错了。
定义后台显示页面的样式

注意导入同文件夹下自定义的库时,python3为from .models import * 这个.不能少

class QuestionAdmin(admin.ModelAdmin):
    ……………………
admin.site.register(Question, QuestionAdmin)

QuestionAdmin显示方式的类 Question表示需要注册的类,例如BookInfo
页列表属性:
在admin.py中定义一个界面的类, 类里面写变量即可不用加self.
List_display = ['列名1', '列名2', '列名3'] 显示字段,关系到查询时候的先后顺序
list_filter = ['列名1'] 用于在边上显示过滤器(按照列名1进行过滤) 一般用来过滤时间好像比较好
search_fields = ['列名2']  在上侧出现按照(列名2)进行搜索的搜索框
list_per_page = 10          分页,出现在下侧

添加修改页属性
fieldsets = [
    ('basic', {'fields': ['列名1', '列名2',……]})
    ('more',  {'fields': ['列名3', '列名4', ……]})
]
这些列一定要在你的model类里面存在才行。
修改添加页修改页内的属性,按照上面定义的类别来进行分类(给添加页和删除页分类)

关联对象的操作:
例如:肯德基里面有很多产品,我们在添加肯德基这家店的时候,还能同时添加其下的产品(肯德基和产品之间是一对多的关系)
class ProductInfo1(admin.StackedInline): # 这里是stackedInline是线性添加的 如果要表格添加的可以继承admin.TabularInline
    model = 产品的类1
    extra = 2

class ProductInfo2(admin.StackedInline): # 这里是stackedInline
    model = 产品的类2
    extra = 3 # 每次可以添加两个附属产品,希望添加的数据值

class KFCAdmin(admin.ModelAdmin):
    ……
    inlines = [ProductInfo1, ProductInfo2] # 这里可以嵌入多个之间用逗号分隔

工程的设计流程:(后端部分)
1-设计工程              django-admin startproject
2-生成app并添加到工程        python manage.py startapp
3-编写模型类            (主要是设置数据库中表的结构类型)
4-admin类修改页面属性        加入关联对象,,修改显示结构,添加搜索框和过滤器等
4-注册模型类到应用中        admin.site.register(模型类, admin类)
4-根据模型类生成迁移文件        python manage.py makemigrations
5-生成迁移            python manage.py migrate
6-启动服务器            python manage.py runserver

Admin使用的流程
1-创建用户账户密码 : python manage.py createsuperuser 
2-把模型类添加到admin里面(在注册时创建一个装饰的类,注册的时候把修改模型一起注册) (from .models import *)
3-通过python manage.py runserver 端口号  # 运行网页
4-通过127.0.0.1:端口号\admin来进入网页

猜你喜欢

转载自blog.csdn.net/qq_24724109/article/details/81354123