feature:新增登录验证

This commit is contained in:
charlesxie
2023-07-31 13:42:21 +08:00
parent d6a8596c7c
commit 085f76a3df
8 changed files with 375 additions and 213 deletions

View File

@@ -1,157 +1,157 @@
# -*- coding: utf-8 -*-
from django.contrib import admin
from .models import Album, Track, Artist, Genre, Attachment, Playlist, TrackFavorite, Folder
@admin.register(Album)
class AlbumAdmin(admin.ModelAdmin):
list_display = (
'id',
'name',
'artist',
'all_artist_ids',
'max_year',
'song_count',
'plays_count',
'duration',
'genre',
'created_at',
'updated_at',
'accessed_date',
'full_text',
'size',
'comment',
'paths',
'description',
'attachment_cover',
'mbz_album_id',
'mbz_album_artist_id',
'mbz_album_type',
'mbz_album_comment',
'external_url',
'external_info_updated_at',
)
list_filter = (
'created_at',
'updated_at',
'accessed_date',
'external_info_updated_at',
)
search_fields = ('name',)
date_hierarchy = 'created_at'
list_per_page = 10
@admin.register(Track)
class TrackAdmin(admin.ModelAdmin):
list_display = (
'id',
'name',
'path',
'album',
'artist',
'has_cover_art',
'track_number',
'disc_number',
'plays_count',
'year',
'size',
'suffix',
'mimetype',
'duration',
'bit_rate',
'genre',
'created_at',
'updated_at',
'accessed_date',
'full_text',
)
list_filter = (
'has_cover_art',
'created_at',
'updated_at',
'accessed_date',
)
search_fields = ('name',)
date_hierarchy = 'created_at'
list_per_page = 10
@admin.register(Artist)
class ArtistAdmin(admin.ModelAdmin):
list_display = (
'id',
'name',
'album_count',
'full_text',
'song_count',
'size',
'mbz_artist_id',
'attachment_cover',
'similar_artists',
'external_url',
'external_info_updated_at',
)
list_filter = ('attachment_cover', 'external_info_updated_at')
search_fields = ('name',)
list_per_page = 10
@admin.register(Genre)
class GenreAdmin(admin.ModelAdmin):
list_display = ('id', 'name')
search_fields = ('name',)
@admin.register(Attachment)
class AttachmentAdmin(admin.ModelAdmin):
list_display = (
'id',
'url',
'creation_date',
'last_fetch_date',
'size',
'mimetype',
'file',
)
list_filter = ('creation_date', 'last_fetch_date')
@admin.register(Playlist)
class PlaylistAdmin(admin.ModelAdmin):
list_display = (
'id',
'name',
'user',
'creation_date',
'modification_date',
'privacy_level',
)
list_filter = ('user', 'creation_date', 'modification_date')
search_fields = ('name',)
@admin.register(TrackFavorite)
class TrackFavoriteAdmin(admin.ModelAdmin):
list_display = ('id', 'creation_date', 'user', 'track')
list_filter = ('creation_date', 'user', 'track')
@admin.register(Folder)
class FolderAdmin(admin.ModelAdmin):
list_display = (
'id',
'name',
'path',
'created_at',
'last_scan_time',
'file_type',
'uid',
'parent_id',
)
list_filter = ('created_at', 'last_scan_time', "file_type", "state")
search_fields = ('name',)
date_hierarchy = 'created_at'
list_per_page = 10
# # -*- coding: utf-8 -*-
# from django.contrib import admin
#
# from .models import Album, Track, Artist, Genre, Attachment, Playlist, TrackFavorite, Folder
#
#
# @admin.register(Album)
# class AlbumAdmin(admin.ModelAdmin):
# list_display = (
# 'id',
# 'name',
# 'artist',
# 'all_artist_ids',
# 'max_year',
# 'song_count',
# 'plays_count',
# 'duration',
# 'genre',
# 'created_at',
# 'updated_at',
# 'accessed_date',
# 'full_text',
# 'size',
# 'comment',
# 'paths',
# 'description',
# 'attachment_cover',
# 'mbz_album_id',
# 'mbz_album_artist_id',
# 'mbz_album_type',
# 'mbz_album_comment',
# 'external_url',
# 'external_info_updated_at',
# )
# list_filter = (
# 'created_at',
# 'updated_at',
# 'accessed_date',
# 'external_info_updated_at',
# )
# search_fields = ('name',)
# date_hierarchy = 'created_at'
# list_per_page = 10
#
#
# @admin.register(Track)
# class TrackAdmin(admin.ModelAdmin):
# list_display = (
# 'id',
# 'name',
# 'path',
# 'album',
# 'artist',
# 'has_cover_art',
# 'track_number',
# 'disc_number',
# 'plays_count',
# 'year',
# 'size',
# 'suffix',
# 'mimetype',
# 'duration',
# 'bit_rate',
# 'genre',
# 'created_at',
# 'updated_at',
# 'accessed_date',
# 'full_text',
# )
# list_filter = (
# 'has_cover_art',
# 'created_at',
# 'updated_at',
# 'accessed_date',
# )
# search_fields = ('name',)
# date_hierarchy = 'created_at'
# list_per_page = 10
#
#
# @admin.register(Artist)
# class ArtistAdmin(admin.ModelAdmin):
# list_display = (
# 'id',
# 'name',
# 'album_count',
# 'full_text',
# 'song_count',
# 'size',
# 'mbz_artist_id',
# 'attachment_cover',
# 'similar_artists',
# 'external_url',
# 'external_info_updated_at',
# )
# list_filter = ('attachment_cover', 'external_info_updated_at')
# search_fields = ('name',)
#
# list_per_page = 10
#
#
# @admin.register(Genre)
# class GenreAdmin(admin.ModelAdmin):
# list_display = ('id', 'name')
# search_fields = ('name',)
#
#
# @admin.register(Attachment)
# class AttachmentAdmin(admin.ModelAdmin):
# list_display = (
# 'id',
# 'url',
# 'creation_date',
# 'last_fetch_date',
# 'size',
# 'mimetype',
# 'file',
# )
# list_filter = ('creation_date', 'last_fetch_date')
#
#
# @admin.register(Playlist)
# class PlaylistAdmin(admin.ModelAdmin):
# list_display = (
# 'id',
# 'name',
# 'user',
# 'creation_date',
# 'modification_date',
# 'privacy_level',
# )
# list_filter = ('user', 'creation_date', 'modification_date')
# search_fields = ('name',)
#
#
# @admin.register(TrackFavorite)
# class TrackFavoriteAdmin(admin.ModelAdmin):
# list_display = ('id', 'creation_date', 'user', 'track')
# list_filter = ('creation_date', 'user', 'track')
#
#
# @admin.register(Folder)
# class FolderAdmin(admin.ModelAdmin):
# list_display = (
# 'id',
# 'name',
# 'path',
# 'created_at',
# 'last_scan_time',
# 'file_type',
# 'uid',
# 'parent_id',
# )
# list_filter = ('created_at', 'last_scan_time', "file_type", "state")
# search_fields = ('name',)
# date_hierarchy = 'created_at'
# list_per_page = 10

View File

@@ -1,10 +1,10 @@
# -*- coding: utf-8 -*-
from django.contrib import admin
from .models import UserProfile
@admin.register(UserProfile)
class UserProfileAdmin(admin.ModelAdmin):
list_display = ('id', 'user', 'subsonic_api_token')
list_filter = ('user',)
# # -*- coding: utf-8 -*-
# from django.contrib import admin
#
# from .models import UserProfile
#
#
# @admin.register(UserProfile)
# class UserProfileAdmin(admin.ModelAdmin):
# list_display = ('id', 'user', 'subsonic_api_token')
# list_filter = ('user',)

View File

@@ -10,7 +10,7 @@ class ApiGenericMixin(object):
"""API视图类通用函数"""
# TODO 权限部分加载基类中
permission_classes = ()
# permission_classes = ()
def finalize_response(self, request, response, *args, **kwargs):
"""统一返回数据格式"""

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,3 @@
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>音乐标签Web版Music Tag Web</title><link rel="shortcut icon" href=/static/dist/img/music-tag.png type=image/x-icon><link href=./static/dist/css/app.css rel=stylesheet></head><body><script>window.siteUrl = "/"
window.APP_CODE = 'dj-flow';
window.CSRF_COOKIE_NAME = 'django_vue_cli_csrftoken'</script><div id=app></div><script type=text/javascript src=./static/dist/js/manifest.9ba6c0d4f4490e9a4f28.js></script><script type=text/javascript src=./static/dist/js/vendor.051dd49be048f27f51f9.js></script><script type=text/javascript src=./static/dist/js/app.f9f7f7356e09293abe67.js></script></body></html>
window.CSRF_COOKIE_NAME = 'django_vue_cli_csrftoken'</script><div id=app></div><script type=text/javascript src=./static/dist/js/manifest.9ba6c0d4f4490e9a4f28.js></script><script type=text/javascript src=./static/dist/js/vendor.051dd49be048f27f51f9.js></script><script type=text/javascript src=./static/dist/js/app.c7ddce12b9989cd1165a.js></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long