一、前言
记录与分享
二、常用命令
1.创建应用
(venv) C:\Users\linhongcun\PycharmProjects\untitled>python manage.py startapp booktest
2.开启项目
(venv) C:\Users\linhongcun\PycharmProjects\untitled>python manage.py runserver 8080
3.生成迁移文件
(venv) C:\Users\linhongcun\PycharmProjects\untitled>python manage.py makemigrations
4.执行迁移文件
(venv) C:\Users\linhongcun\PycharmProjects\untitled>python manage.py migrate
5.进行模型API练习
(venv) C:\Users\linhongcun\PycharmProjects\untitled>python manage.py shell
6.进入后台管理
(venv) C:\Users\linhongcun\PycharmProjects\untitled>python manage.py createsuperuser
访问URL:http://IP:8080/admin
7、生成 requirements.txt 文件
这个命令主要在部署项目到云服务器时要用到,使生产环境的版本和开发环境的一致,项目才能正常运行。
(venv) C:\Users\linhongcun\PycharmProjects\djapp>pip3 freeze > requirements.txt
查看依赖包
(venv) C:\Users\linhongcun\PycharmProjects\djapp>pip list
三、后台管理界面定制
from django.contrib import admin
from .models import BookInfo,HeroInfo,HeroInfo # 注意 model 前面有一个点
class HeroInfoInline(admin.TabularInline):# StackedInline 属性占一行、TabularInline 属性表格形式
model = HeroInfo
# 添加的时候显示的个数,可再增加
extra = 2
# 设置模型列表显示的字段
class BookAdmin(admin.ModelAdmin):
# 显示
list_display = ['id','btitle','bpub_date']
# 过滤
list_filter = ['btitle']
# 搜索
search_fields = ['btitle']
# 分组显示
fieldsets = [
('basic',{'fields': ['btitle']}),
('more', {'fields': ['bpub_date']}),
]
# 外键
inlines = [HeroInfoInline]
# 注册到后台管理
admin.site.register(BookInfo,BookAdmin)
admin.site.register(HeroInfo)
四、问题与解决
from models import Article引入报错,找不到models为啥
Django在根据models生成数据库表时报 init() missing 1 required positional argument: ‘on_delete’
五、Django项目部署
centos7下部署Django(nginx+uwsgi+python3+django)
Django运行项目时候出现DisallowedHost at