xy_django_app_siteuser
| 简体中文 | 繁體中文 | English |
|---|
说明
通用站点用户数据模型.
源码仓库
| Github | Gitee | GitCode |
|---|
安装
# bash
pip install xy_django_app_siteuser
使用
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",
]
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. 自定义
操作 样例工程
# bash
xy_web_server -w django startapp SiteUser
# SiteUser 模块创建在 source/Runner/Admin/SiteUser
在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
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 下列仓库
| Github | Gitee | GitCode |
|---|
许可证
xy_django_app_siteuser 根据 <木兰宽松许可证, 第2版> 获得许可。有关详细信息,请参阅 LICENSE 文件。
捐赠
如果小伙伴们觉得这些工具还不错的话,能否请咱喝一杯咖啡呢?
联系方式
微信: yuyangiit
邮箱: yuyangit.0515@qq.com
Release files for xy-django-app-siteuser 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xy_django_app_siteuser-1.0.3.tar.gz | 12.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xy_django_app_siteuser-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.9 kB
Release files / xy_django_app_siteuser-1.0.3.tar.gz
| Download URL | xy_django_app_siteuser-1.0.3.tar.gz |
|---|---|
| Size | 12.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ee559f0fc380937da1ff021c8863836481797325931360d73c951ce5da17fe58
|
|
BLAKE2b-256 checksum How to use checksums |
7f74aaae28556627373b382796cda33a59bf3fc8c8324d3b0fffa1a999a835c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Release files / xy_django_app_siteuser-1.0.3-py3-none-any.whl
| Download URL | xy_django_app_siteuser-1.0.3-py3-none-any.whl |
|---|---|
| Size | 14.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
95e0278c05648b82ed8941c5b176483ea288d3365da2ff79c27db5f04a235829
|
|
BLAKE2b-256 checksum How to use checksums |
f36803f4dd79077e165121d6eba9fb5db64fbce32e243db2c73278e5f23a61ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|