站点用户数据模型
Project description
xy_django_app_siteuser
说明
通用站点用户数据模型.
源码仓库
安装
# bash
pip install xy_django_app_siteuser
使用
1. 直接引入
-
1. 设置全局配置
在Django项目中的settings.py文件中加入如下配置 例如: settings.py
# settings.py
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"xy_django_app_siteuser",
"Demo",
"Media",
]
-
2. 运行项目
xy_web_server -w django makemigrations
xy_web_server -w django migrate
# 同步数据表
xy_web_server -w django start
# 启动工程后访问 http://127.0.0.1:8401/admin 验证站点管理系统
2. 自定义
-
1. 创建SiteUser模块
操作 样例工程
# bash
xy_web_server -w django startapp SiteUser
# SiteUser 模块创建在 source/Runner/Admin/SiteUser
-
2. 设置全局配置
在Django项目中的settings.py文件中加入如下配置 例如: settings.py
# settings.py
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"Demo",
"Media",
"SiteUser",
]
# models.py
from django.db import models
from django.utils.translation import gettext_lazy as _
from xy_django_app_siteuser.abstracts import (
MAAuthUser,
MAAuthUserCredential,
MACaptcha,
MAEmailCredential,
MASiteUser,
MASMSCaptchaCredential,
)
class MEmailCredential(MAEmailCredential):
class Meta:
app_label = "SiteUser"
verbose_name = _("邮箱凭证")
verbose_name_plural = _("邮箱凭证")
class MCaptcha(MACaptcha):
class Meta:
app_label = "SiteUser"
verbose_name = _("验证码")
verbose_name_plural = _("验证码")
class MSMSCaptchaCredential(MASMSCaptchaCredential):
class Meta:
app_label = "SiteUser"
verbose_name = _("短信凭证")
verbose_name_plural = _("短信凭证")
class MEmailCaptcha(MACaptcha):
from_email = models.CharField(
verbose_name=_("发送方邮箱"),
max_length=255,
)
to_email = models.CharField(
verbose_name=_("目标邮箱"),
max_length=255,
)
class Meta:
app_label = "SiteUser"
verbose_name = _("邮箱验证码")
verbose_name_plural = _("邮箱验证码")
def __str__(self):
return str(self.id) + ". " + str(self.code)
class MSMSCaptcha(MACaptcha):
mobile = models.CharField(
verbose_name=_("手机号"),
max_length=255,
)
class Meta:
app_label = "SiteUser"
verbose_name = _("短信验证码")
verbose_name_plural = _("短信验证码")
def __str__(self):
return str(self.id) + ". " + str(self.code)
class MSiteUser(MASiteUser):
region = models.ForeignKey(
"Information.MRegion",
verbose_name=_("所在地"),
related_name="%(app_label)s_%(class)s_region",
on_delete=models.SET_NULL,
null=True,
blank=True,
)
class Meta:
app_label = "SiteUser"
verbose_name = _("站点用户")
verbose_name_plural = _("站点用户")
class MAuthUserCredential(MAAuthUserCredential):
class Meta:
app_label = "SiteUser"
verbose_name = _("授权用户凭证")
verbose_name_plural = _("授权用户凭证")
class MAuthUser(MAAuthUser):
credential = models.ForeignKey(
"SiteUser.MAuthUserCredential",
verbose_name=_("授权用户凭证"),
related_name="%(app_label)s_%(class)s_credential",
max_length=255,
on_delete=models.SET_NULL,
null=True,
)
class Meta:
app_label = "SiteUser"
verbose_name = _("授权用户凭证")
verbose_name_plural = _("授权用户凭证")
# admin.py
from django.contrib import admin
from .models import (
MAuthUser,
MAuthUserCredential,
MCaptcha,
MEmailCaptcha,
MEmailCredential,
MSiteUser,
MSMSCaptcha,
MSMSCaptchaCredential,
)
@admin.register(MEmailCredential)
class AEmailCredential(admin.ModelAdmin):
pass
@admin.register(MCaptcha)
class ACaptcha(admin.ModelAdmin):
pass
@admin.register(MSMSCaptchaCredential)
class ASMSCaptchaCredential(admin.ModelAdmin):
pass
@admin.register(MEmailCaptcha)
class AEmailCaptcha(admin.ModelAdmin):
pass
@admin.register(MSMSCaptcha)
class ASMSCaptcha(admin.ModelAdmin):
pass
@admin.register(MSiteUser)
class ASiteUser(admin.ModelAdmin):
search_fields = ["id", "name", "email", "username", "identifier"]
autocomplete_fields = ["region"]
@admin.register(MAuthUserCredential)
class AAuthUserCredential(admin.ModelAdmin):
pass
@admin.register(MAuthUser)
class AuthUser(admin.ModelAdmin):
pass
-
5. 运行项目
xy_web_server -w django makemigrations
xy_web_server -w django migrate
# 同步数据表
xy_web_server -w django start
# 启动工程后访问 http://127.0.0.1:8401/admin 验证站点用户管理系统
运行 样例工程
样例工程具体使用方式请移步 xy_web_server.git 下列仓库
许可证
xy_django_app_siteuser 根据 <木兰宽松许可证, 第2版> 获得许可。有关详细信息,请参阅 LICENSE 文件。
捐赠
如果小伙伴们觉得这些工具还不错的话,能否请咱喝一杯咖啡呢?
联系方式
微信: yuyangiit
邮箱: yuyangit.0515@qq.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file xy_django_app_siteuser-1.0.2.tar.gz
.
File metadata
- Download URL: xy_django_app_siteuser-1.0.2.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93054c60f4cba687a6a7ae2c529ebc39ba3c7562bb9e00e14f7a8dbe7b4da16d |
|
MD5 | 9cf10521d249e6e0868360c666f006fa |
|
BLAKE2b-256 | b50fc34ab720dec3d999c97c3d52ae24554d6055e90cd13ef1db993057c1b508 |
File details
Details for the file xy_django_app_siteuser-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: xy_django_app_siteuser-1.0.2-py3-none-any.whl
- Upload date:
- Size: 13.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e701b5f6004b720c0abfd904ae14f97f2a64653b89187a1374231f504eaeb23 |
|
MD5 | 1c649b9434dafd050f4c1b1d472da95a |
|
BLAKE2b-256 | df13862e5acfce38199dd032c63a984991e31e3d3f207f2a3ba982be14da8dc7 |