You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求适配Firebase的Django短信发送模块,django-phone-auth无法兼容

与Firebase配合发送短信的Django实现方案

直接使用Firebase Admin SDK(推荐)

不需要专门的Django模块,直接通过Firebase官方SDK就能在Django中实现短信发送:

  • 安装依赖:

    pip install firebase-admin
    
  • 在Django项目中配置Firebase:
    在settings.py中添加初始化代码(也可以单独创建firebase.py模块统一管理):

    import firebase_admin
    from firebase_admin import credentials, auth
    
    cred = credentials.Certificate('path/to/your-firebase-service-account-key.json')
    firebase_admin.initialize_app(cred)
    
  • 编写短信发送工具函数:
    封装成可复用的函数,在需要发送短信的视图或逻辑中调用:

    from firebase_admin import auth
    
    def send_firebase_verification_sms(phone_number):
        try:
            # 调用Firebase Auth生成并发送手机号验证码
            auth.generate_phone_number_verification_code(phone_number)
            return True
        except Exception as e:
            print(f"短信发送失败: {str(e)}")
            return False
    

封装自定义Django模块(可选)

如果需要将Firebase短信逻辑封装成可复用的Django组件:

  • 创建新的Django app(比如firebase_sms)
  • 在app内封装Firebase初始化、短信发送等工具函数
  • 可自定义Django认证后端,替换django-phone-auth的短信发送逻辑,保留原有认证流程

替换django-phone-auth的短信发送逻辑

如果不想完全替换现有模块,可以直接修改django-phone-auth的短信发送部分:

  • 找到模块中负责发送短信的文件(通常是sms.py或类似命名的文件)
  • 将原短信发送代码替换为Firebase SDK的调用逻辑,适配现有参数即可

内容的提问来源于stack exchange,提问作者MihailCapone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 06:22:31