python manage.py runserver ip:port
其中,ip:port可以不填,默认端口号为8000
python manage.py runserver 8080
python manage.py createsuperuser
#按提示以此输入用户名、邮箱、密码(密码不会显示,类似于Linux密码输入)
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
from django.contrib import admin
from models import BookInfo
admin.site.register(BookInfo)
PS:在PyCharm中可以预先配置服务器,使得调试时可以直接打开网页。请在主工具栏上单击运行/调试配置选择器,然后选择“ Edit Configurations”(或在主菜单上选择Run | Edit Configurations)
然后在界面中勾选Run browser,并填写默认的打开页面(此处默认的是管理界面:http://127.0.0.1:8000/admin)
class HeroInfoInline(admin.StackedInline):#TabularInline为表格,StackedInline为列表;均为展现形式
model = HeroInfo
extra = 1#附加无内容条数,也可算待增加条数
class BookAdmin(admin.ModelAdmin):
# 展示方式 UI,显示字段,可以点击列头进行排序
list_display = ['pk', 'btitle', 'bpub_date']
# 过滤UI,过滤字段,过滤框会出现在右侧
list_filter = ['btitle']
# 搜索UI,搜索字段,搜索框会出现在上侧
search_fields = ['btitle']
# 插入BookInfo的时候可以带上Hero子类插入(即关联对象),具体信息看HeroInfoInline的属性
inlines = [HeroInfoInline]
#分页,分页框会出现在下侧
# list_per_page = 10
# 属性的先后顺序(不可与fieldsets 同时使用)
# fields = ['bpub_date', 'btitle']
# 属性分组(不可与fields同时使用)
# fieldsets = [
# ('basic', {'fields': ['btitle']}),
# ('more', {'fields': ['bpub_date']}),
# ]
class HeroAdmin(admin.ModelAdmin):
list_display = ['pk', 'hname', 'hgender', 'hcontent', 'hBook']
search_fields = ['hname']
# 这里把需要的models注册进行 例如 BookInfo 和 HeroInfo 最基本的UI展示
# 如果需要自定义UI就需要写一个继承于admin.ModelAdmin来指定字段编写展示
admin.site.register(BookInfo, BookAdmin)
admin.site.register(HeroInfo, HeroAdmin)
def gender(self):
if self.hgender:
return '男'
else:
return '女'
gender.short_description = '性别'
class HeroInfoAdmin(admin.ModelAdmin):
list_display = ['id', 'hname', 'gender', 'hcontent']