首页 > 解决方案 > 如何使用来自 phpmyadmin 的配置文件解析 json 以及如何连接

问题描述

import json

from .models import Firm

class firm_parse_config:

    def __init__(self):
        # JSON file
        f = Firm.object.get(firm_id = 714119582354831774)

        data = f.config
        self.data = data

    def get_base_url(self):
        return self.data['base_url']

    def logo(self):
        return self.data['logo']

    # signup type feature
    def get_loginActive(self):
        return self.data['features']['login']['active'];

    def get_loginWithemail(self):
        return self.data['features']['login']['loginWith']['email'];

    def get_loginWithmobile(self):
        return self.data['features']['login']['loginWith']['mobile'];

    def get_loginWithuserId(self):
        return self.data['features']['login']['loginWith']['userId'];

    def get_loginWithmemberId(self):
        return self.data['features']['login']['loginWith']['memberId'];

    def get_loginWithusername(self):
        return self.data['features']['login']['loginWith']['username'];
    # sign up process

    def get_Typepublic(self):
        return self.data['features']['signup']['type']['public'];

    def get_Typeprivate(self):
        return self.data['features']['signup']['type']['private'];

    # signup active

    def get_Active(self):
        return self.data['features']['signup']['active'];

    # signup fields


    def get_Fieldsemail(self):
        return self.data['features']['signup']['fields']['email'];

    def get_Fieldstitle(self):
        return self.data['features']['signup']['fields']['title'];

    def get_Fieldsmobile(self):
        return self.data['features']['signup']['fields']['mobile'];

    def get_Fields_comment(self):
        return self.data['features']['signup']['fields']['_comment'];

    def get_Fieldslastname(self):
        return self.data['features']['signup']['fields']['lastname'];

    def get_Fieldspassword(self):
        return self.data['features']['signup']['fields']['password'];

    def get_Fieldsusername(self):
        return self.data['features']['signup']['fields']['username'];

    def get_Fieldsfirstname(self):
        return self.data['features']['signup']['fields']['firstname'];

    # signup pwdReset

    def get_pwdResettype(self):
        return self.data['features']['signup']['pwdReset']['type'];

    def get_pwdResetactive(self):
        return self.data['features']['signup']['pwdReset']['active'];

    def get_pwdReset_comment(self):
        return self.data['features']['signup']['pwdReset']['_comment'];

    def get_pwdResetlinkExpiry(self):
        return self.data['features']['signup']['pwdReset']['linkExpiry'];

    def get_pwdResetredirect_page(self):
        return self.data['features']['signup']['pwdReset']['redirect_page'];

# signup emailVerification

    def get_emailVerificationtype(self):
        return self.data['features']['signup']['emailVerification']['type'];

    def get_emailVerificationactive(self):
        return self.data['features']['signup']['emailVerification']['active'];

    def get_emailVerification_comment(self):
        return self.data['features']['signup']['emailVerification']['_comment'];

    def get_emailVerificationmandatory(self):
        return self.data['features']['signup']['emailVerification']['mandatory'];

    def get_emailVerificationlinkExpiry(self):
        return self.data['features']['signup']['emailVerification']['linkExpiry'];

    def get_emailVerificationredirect_page(self):
        return self.data['features']['signup']['emailVerification']['redirect_page'];

# signup mobileVerification

    def get_mobileVerificationactive(self):
        return self.data['features']['signup']['mobileVerification']['active'];

    def get_mobileVerificationmandatory(self):
        return self.data['features']['signup']['mobileVerification']['mandatory'];

    def get_mobileVerificationotpExpiry(self):
        return self.data['features']['signup']['mobileVerification']['otpExpiry'];

    def get_mobileVerificationredirect_page(self):
        return self.data['features']['signup']['mobileVerification']['redirect_page'];

    def get_Copyright(self):
        return self.data['copyright'];

    def get_Description(self):
        return self.data['Description'];

#phpmyadmin 配置文件

{
    "logo": "https://e7.pngegg.com/pngimages/875/947/png-clipart-logo-american-broadcasting-company-television-show-abc-blocks-television-company.png",
    "base_url": "example.com:8000",
    "features": {
        "login": {
            "active": 1,
            "loginWith": {
                "email": true,
                "mobile": true,
                "userId": false,
                "memberId": false,
                "username": true
            }
        },
        "signup": {
            "type": {
                "public": true,
                "private": false
            },
            "active": true,
            "fields": {
                "email": 1,
                "title": 1,
                "mobile": 1,
                "_comment": "0 - N/A, 1-mandatory, 2-optional",
                "lastname": 1,
                "password": 1,
                "username": 1,
                "firstname": 1
            },
            "pwdReset": {
                "type": 1,
                "active": true,
                "_comment": "type 1 - reset link, 2-6digitcode",
                "linkExpiry": 300,
                "redirect_page": "/forget-password"
            },
            "emailVerification": {
                "type": 1,
                "active": true,
                "_comment": "type 1 - reset link, 2-6digitcode",
                "mandatory": true,
                "linkExpiry": 18000,
                "redirect_page": "/signup/email-verificaton"
            },
            "mobileVerification": {
                "active": true,
                "mandatory": true,
                "otpExpiry": 18000,
                "redirect_page": "/signup/mobile-otp-verificaton"
            }
        }
    },
    "copyright": "Copyright © 2021 ABC Pvt Ltd.",
    "Description": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."
}

标签: pythonjsondjango-rest-frameworkphpmyadmin

解决方案


推荐阅读