原型搭建基本完成
This commit is contained in:
parent
870ba7ef21
commit
8071f27a3b
|
@ -1,24 +1,41 @@
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.contrib.admin.decorators import register
|
from django.contrib.admin.decorators import register
|
||||||
from .models import BaseInfo, WorkExperience, Paper, Project, Award
|
from .models import Expert, WorkExperience, Paper, Project, Award
|
||||||
|
from simple_history.admin import SimpleHistoryAdmin
|
||||||
# Register your models here.
|
# Register your models here.
|
||||||
|
class WorkExperienceInline(admin.StackedInline):
|
||||||
|
model = WorkExperience
|
||||||
|
extra = 0
|
||||||
|
fields = ('expert', 'name','start_date', 'post')
|
||||||
|
|
||||||
@admin.register(BaseInfo)
|
@admin.register(Expert)
|
||||||
class BaseInfoAdmin(admin.ModelAdmin):
|
class ExpertAdmin(SimpleHistoryAdmin):
|
||||||
pass
|
date_hierarchy = 'create_time'
|
||||||
|
list_display = ('name', 'gender','idnumber', 'create_time')
|
||||||
|
search_fields = ("name", "workexperience_expert__name", "paper_expert__name", "project_expert__name", "award_expert__name")
|
||||||
|
inlines = [
|
||||||
|
WorkExperienceInline,
|
||||||
|
]
|
||||||
|
|
||||||
@admin.register(WorkExperience)
|
@admin.register(WorkExperience)
|
||||||
class WorkExperienceAdmin(admin.ModelAdmin):
|
class WorkExperienceAdmin(admin.ModelAdmin):
|
||||||
pass
|
date_hierarchy = 'start_date'
|
||||||
|
list_display = ('expert', 'name','start_date', 'post')
|
||||||
|
|
||||||
@admin.register(Paper)
|
@admin.register(Paper)
|
||||||
class PaperAdmin(admin.ModelAdmin):
|
class PaperAdmin(admin.ModelAdmin):
|
||||||
pass
|
date_hierarchy = 'publish_date'
|
||||||
|
list_display = ('expert', 'name','is_leader', 'publish_date')
|
||||||
|
list_filter = ('is_leader',)
|
||||||
|
|
||||||
@admin.register(Project)
|
@admin.register(Project)
|
||||||
class ProjectAdmin(admin.ModelAdmin):
|
class ProjectAdmin(admin.ModelAdmin):
|
||||||
pass
|
date_hierarchy = 'start_date'
|
||||||
|
list_display = ('expert', 'name','number', 'content', 'start_date')
|
||||||
|
|
||||||
|
|
||||||
@admin.register(Award)
|
@admin.register(Award)
|
||||||
class AwardAdmin(admin.ModelAdmin):
|
class AwardAdmin(admin.ModelAdmin):
|
||||||
pass
|
date_hierarchy = 'issue_date'
|
||||||
|
list_display = ('expert', 'name','level', 'issue_date')
|
||||||
|
list_filter = ('level',)
|
|
@ -0,0 +1,128 @@
|
||||||
|
# Generated by Django 3.1.8 on 2021-06-03 05:22
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
import django.utils.timezone
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('system', '0002_auto_20210602_1459'),
|
||||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||||
|
('expert', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Award',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
|
||||||
|
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
|
||||||
|
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
||||||
|
('name', models.CharField(max_length=100, verbose_name='名称')),
|
||||||
|
('level', models.CharField(choices=[('省部级', '省部级')], max_length=60, verbose_name='级别')),
|
||||||
|
('issue_date', models.DateField(verbose_name='颁发日期')),
|
||||||
|
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='award_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': '专家获奖/荣誉',
|
||||||
|
'verbose_name_plural': '专家获奖/荣誉',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Expert',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
|
||||||
|
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
|
||||||
|
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
||||||
|
('name', models.CharField(max_length=100, verbose_name='姓名')),
|
||||||
|
('gender', models.CharField(choices=[('男', '男'), ('女', '女')], default='男', max_length=10, verbose_name='性别')),
|
||||||
|
('idnumber', models.CharField(max_length=40, verbose_name='身份证号')),
|
||||||
|
('paddress', models.TextField(verbose_name='通讯地址')),
|
||||||
|
('photo', models.CharField(blank=True, max_length=100, null=True, verbose_name='证件照')),
|
||||||
|
('belong_dept', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='expert_belong_dept', to='system.organization', verbose_name='所属部门')),
|
||||||
|
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='expert_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
||||||
|
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='expert_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
|
||||||
|
('user', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='expert_user', to=settings.AUTH_USER_MODEL, verbose_name='关联账户')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': '专家基本信息',
|
||||||
|
'verbose_name_plural': '专家基本信息',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Paper',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
|
||||||
|
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
|
||||||
|
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
||||||
|
('name', models.CharField(max_length=100, verbose_name='名称')),
|
||||||
|
('is_leader', models.BooleanField(default=True, verbose_name='是否第一作者')),
|
||||||
|
('publish_date', models.DateField(verbose_name='发表日期')),
|
||||||
|
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='paper_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
||||||
|
('expert', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='paper_expert', to='expert.expert', verbose_name='所属专家')),
|
||||||
|
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='paper_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': '专家论文/著作',
|
||||||
|
'verbose_name_plural': '专家论文/著作',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Project',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
|
||||||
|
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
|
||||||
|
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
||||||
|
('name', models.CharField(max_length=100, verbose_name='名称')),
|
||||||
|
('number', models.CharField(max_length=100, verbose_name='项目编号')),
|
||||||
|
('start_date', models.DateField(verbose_name='开始日期')),
|
||||||
|
('content', models.TextField(verbose_name='主要工作内容')),
|
||||||
|
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='project_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
||||||
|
('expert', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='project_expert', to='expert.expert', verbose_name='所属专家')),
|
||||||
|
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='project_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': '专家项目',
|
||||||
|
'verbose_name_plural': '专家项目',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='WorkExperience',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
|
||||||
|
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
|
||||||
|
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
||||||
|
('name', models.CharField(max_length=100, verbose_name='单位名')),
|
||||||
|
('start_date', models.DateField(verbose_name='开始日期')),
|
||||||
|
('post', models.CharField(max_length=100, verbose_name='职务/岗位')),
|
||||||
|
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='workexperience_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
||||||
|
('expert', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='workexperience_expert', to='expert.expert', verbose_name='所属专家')),
|
||||||
|
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='workexperience_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': '专家工作经历',
|
||||||
|
'verbose_name_plural': '专家工作经历',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.DeleteModel(
|
||||||
|
name='BaseInfo',
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='award',
|
||||||
|
name='expert',
|
||||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='award_expert', to='expert.expert', verbose_name='所属专家'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='award',
|
||||||
|
name='update_by',
|
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='award_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -0,0 +1,48 @@
|
||||||
|
# Generated by Django 3.1.8 on 2021-06-03 07:09
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
import django.utils.timezone
|
||||||
|
import simple_history.models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||||
|
('system', '0002_auto_20210602_1459'),
|
||||||
|
('expert', '0002_auto_20210603_1322'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='HistoricalExpert',
|
||||||
|
fields=[
|
||||||
|
('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
|
||||||
|
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
|
||||||
|
('update_time', models.DateTimeField(blank=True, editable=False, help_text='修改时间', verbose_name='修改时间')),
|
||||||
|
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
||||||
|
('name', models.CharField(max_length=100, verbose_name='姓名')),
|
||||||
|
('gender', models.CharField(choices=[('男', '男'), ('女', '女')], default='男', max_length=10, verbose_name='性别')),
|
||||||
|
('idnumber', models.CharField(max_length=40, verbose_name='身份证号')),
|
||||||
|
('paddress', models.TextField(verbose_name='通讯地址')),
|
||||||
|
('photo', models.CharField(blank=True, max_length=100, null=True, verbose_name='证件照')),
|
||||||
|
('history_id', models.AutoField(primary_key=True, serialize=False)),
|
||||||
|
('history_date', models.DateTimeField()),
|
||||||
|
('history_change_reason', models.CharField(max_length=100, null=True)),
|
||||||
|
('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
|
||||||
|
('belong_dept', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='system.organization', verbose_name='所属部门')),
|
||||||
|
('create_by', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
||||||
|
('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)),
|
||||||
|
('update_by', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
|
||||||
|
('user', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='关联账户')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'historical 专家基本信息',
|
||||||
|
'ordering': ('-history_date', '-history_id'),
|
||||||
|
'get_latest_by': 'history_date',
|
||||||
|
},
|
||||||
|
bases=(simple_history.models.HistoricalChanges, models.Model),
|
||||||
|
),
|
||||||
|
]
|
|
@ -1,21 +1,23 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from utils.model import SoftModel, BaseModel
|
from utils.model import SoftModel, BaseModel
|
||||||
from apps.system.models import CommonAModel, CommonBModel, User
|
from apps.system.models import CommonAModel, CommonBModel, User
|
||||||
|
from simple_history.models import HistoricalRecords
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
|
|
||||||
class BaseInfo(CommonBModel):
|
class Expert(CommonBModel):
|
||||||
|
|
||||||
gender_choices = (
|
gender_choices = (
|
||||||
('男', '男'),
|
('男', '男'),
|
||||||
('女', '女'),
|
('女', '女'),
|
||||||
)
|
)
|
||||||
|
|
||||||
user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, blank=True, verbose_name="关联账户")
|
user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, blank=True, verbose_name="关联账户", related_name="expert_user")
|
||||||
name = models.CharField(verbose_name="姓名", max_length=100)
|
name = models.CharField(verbose_name="姓名", max_length=100)
|
||||||
gender = models.CharField(verbose_name="性别",choices=gender_choices, default='男', max_length=10)
|
gender = models.CharField(verbose_name="性别",choices=gender_choices, default='男', max_length=10)
|
||||||
idnumber = models.CharField(verbose_name="身份证号", max_length=40)
|
idnumber = models.CharField(verbose_name="身份证号", max_length=40)
|
||||||
paddress = models.TextField(verbose_name="通讯地址")
|
paddress = models.TextField(verbose_name="通讯地址")
|
||||||
photo = models.CharField(verbose_name="证件照", max_length=100, null=True, blank=True)
|
photo = models.CharField(verbose_name="证件照", max_length=100, null=True, blank=True)
|
||||||
|
history = HistoricalRecords()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = '专家基本信息'
|
verbose_name = '专家基本信息'
|
||||||
|
@ -27,6 +29,9 @@ class BaseInfo(CommonBModel):
|
||||||
class WorkExperience(CommonAModel):
|
class WorkExperience(CommonAModel):
|
||||||
|
|
||||||
name = models.CharField(verbose_name="单位名", max_length=100)
|
name = models.CharField(verbose_name="单位名", max_length=100)
|
||||||
|
start_date = models.DateField(verbose_name="开始日期")
|
||||||
|
post = models.CharField(verbose_name="职务/岗位", max_length=100)
|
||||||
|
expert = models.ForeignKey(Expert, on_delete=models.CASCADE, verbose_name="所属专家", related_name="workexperience_expert")
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = '专家工作经历'
|
verbose_name = '专家工作经历'
|
||||||
verbose_name_plural = verbose_name
|
verbose_name_plural = verbose_name
|
||||||
|
@ -37,6 +42,10 @@ class WorkExperience(CommonAModel):
|
||||||
class Project(CommonAModel):
|
class Project(CommonAModel):
|
||||||
|
|
||||||
name = models.CharField(verbose_name="名称", max_length=100)
|
name = models.CharField(verbose_name="名称", max_length=100)
|
||||||
|
number = models.CharField(verbose_name="项目编号", max_length=100)
|
||||||
|
start_date = models.DateField(verbose_name="开始日期")
|
||||||
|
content = models.TextField(verbose_name="主要工作内容")
|
||||||
|
expert = models.ForeignKey(Expert, on_delete=models.CASCADE, verbose_name="所属专家", related_name="project_expert")
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = '专家项目'
|
verbose_name = '专家项目'
|
||||||
verbose_name_plural = verbose_name
|
verbose_name_plural = verbose_name
|
||||||
|
@ -47,6 +56,9 @@ class Project(CommonAModel):
|
||||||
class Paper(CommonAModel):
|
class Paper(CommonAModel):
|
||||||
|
|
||||||
name = models.CharField(verbose_name="名称", max_length=100)
|
name = models.CharField(verbose_name="名称", max_length=100)
|
||||||
|
is_leader = models.BooleanField(verbose_name="是否第一作者", default=True)
|
||||||
|
publish_date = models.DateField(verbose_name="发表日期")
|
||||||
|
expert = models.ForeignKey(Expert, on_delete=models.CASCADE, verbose_name="所属专家", related_name="paper_expert")
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = '专家论文/著作'
|
verbose_name = '专家论文/著作'
|
||||||
verbose_name_plural = verbose_name
|
verbose_name_plural = verbose_name
|
||||||
|
@ -57,7 +69,14 @@ class Paper(CommonAModel):
|
||||||
|
|
||||||
class Award(CommonAModel):
|
class Award(CommonAModel):
|
||||||
|
|
||||||
|
level_choices = (
|
||||||
|
('省部级', '省部级'),
|
||||||
|
)
|
||||||
|
|
||||||
name = models.CharField(verbose_name="名称", max_length=100)
|
name = models.CharField(verbose_name="名称", max_length=100)
|
||||||
|
level = models.CharField(verbose_name="级别", choices=level_choices, max_length=60)
|
||||||
|
issue_date = models.DateField(verbose_name="颁发日期")
|
||||||
|
expert = models.ForeignKey(Expert, on_delete=models.CASCADE, verbose_name="所属专家", related_name="award_expert")
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = '专家获奖/荣誉'
|
verbose_name = '专家获奖/荣誉'
|
||||||
verbose_name_plural = verbose_name
|
verbose_name_plural = verbose_name
|
||||||
|
|
|
@ -3,7 +3,7 @@ from simple_history.admin import SimpleHistoryAdmin
|
||||||
from .models import User, Organization, Role, Permission, DictType, Dict, File
|
from .models import User, Organization, Role, Permission, DictType, Dict, File
|
||||||
# Register your models here.
|
# Register your models here.
|
||||||
|
|
||||||
admin.site.site_header = '专家库管理系统'
|
admin.site.site_header = '专家库开发系统'
|
||||||
admin.site.site_title = '专家库'
|
admin.site.site_title = '专家库'
|
||||||
admin.site.index_title = '后台管理'
|
admin.site.index_title = '后台管理'
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -32,6 +32,7 @@ ALLOWED_HOSTS = ['*']
|
||||||
# Application definition
|
# Application definition
|
||||||
|
|
||||||
INSTALLED_APPS = [
|
INSTALLED_APPS = [
|
||||||
|
'simpleui',
|
||||||
'django.contrib.admin',
|
'django.contrib.admin',
|
||||||
'django.contrib.auth',
|
'django.contrib.auth',
|
||||||
'django.contrib.contenttypes',
|
'django.contrib.contenttypes',
|
||||||
|
@ -189,7 +190,8 @@ CELERYD_MAX_TASKS_PER_CHILD = 100 # 每个worker最多执行300个任务就会
|
||||||
CELERY_TIMEZONE = 'Asia/Shanghai' # 设置时区
|
CELERY_TIMEZONE = 'Asia/Shanghai' # 设置时区
|
||||||
CELERY_ENABLE_UTC = True # 启动时区设置
|
CELERY_ENABLE_UTC = True # 启动时区设置
|
||||||
|
|
||||||
|
SIMPLEUI_HOME_INFO = False
|
||||||
|
SIMPLEUI_ANALYSIS = False
|
||||||
# 日志配置
|
# 日志配置
|
||||||
# 创建日志的路径
|
# 创建日志的路径
|
||||||
LOG_PATH = os.path.join(BASE_DIR, 'log')
|
LOG_PATH = os.path.join(BASE_DIR, 'log')
|
||||||
|
|
|
@ -42,13 +42,15 @@ schema_view = get_schema_view(
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('admin/doc/', include('django.contrib.admindocs.urls')),
|
path('admin/doc/', include('django.contrib.admindocs.urls')),
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
|
|
||||||
|
# api
|
||||||
path('token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
|
path('token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
|
||||||
path('token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
|
path('token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
|
||||||
path('token/black/', LogoutView.as_view(), name='token_black'),
|
path('token/black/', LogoutView.as_view(), name='token_black'),
|
||||||
|
|
||||||
path('system/', include('apps.system.urls')),
|
path('system/', include('apps.system.urls')),
|
||||||
path('monitor/', include('apps.monitor.urls')),
|
path('monitor/', include('apps.monitor.urls')),
|
||||||
|
|
||||||
|
# api文档
|
||||||
path('docs/', include_docs_urls(title="接口文档", authentication_classes=[], permission_classes=[])),
|
path('docs/', include_docs_urls(title="接口文档", authentication_classes=[], permission_classes=[])),
|
||||||
path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
|
path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
|
||||||
path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
|
path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
|
||||||
|
|
Loading…
Reference in New Issue