Skip to main content

Help to build APIs Faster

Project description

Methodism

Methodism sizga djangoda API larni tezroq yaratish va tez ishlatish imkoni beradi.
Egamberdiyav Xudoyberdi Tomonidan Yaratilgan

O'rnatish uchun qo'llanma

  1. Virtual muhit yarating va faollashtiring:
    python -m venv venv
   # Windows: venv\Scripts\activate
   # Linux/Mac: source venv/bin/activate
  1. Pip va setuptools ni yangilang (muhim!):
     python -m pip install --upgrade pip setuptools wheel
  1. Methodism ni o'rnating:
    pip install methodism

Agar Python 3.12+ da muammo bo'lsa, --no-build-isolation flagini qo'shing:

    pip install methodism --no-build-isolation

About

Ushbu Kutubxona Egamberdiyev Xudoyberdi Tomonidan yaratilgan bo'lib tog'ridan tog'ri django kutubxonasi ustiga qurulgan. Bu sizga API lar yozganda uni tez ishlatish va tezroq API yozish imkoni beradi. Avtomatik tarzda siz yozgan funksiyani method ga aylantirgan holatda api hosil qiladi

filelar

  • methodism/costumizing.py ushbu file tayyor bir qator claslarni custum holarga o'tqazilgan varianti hisoblandi.
  • methodism/decors.py Ushbu file kerakli bo'lgan decoratorlarni yozish uchun ishlatiluvchi file.
  • methodism/error_messages.py bo'lishi mumkin bo'lgan xatoliklar yig'ilgan lug'at ko'rinishidagi file.
  • methodism/helper.py Yordamchi funksiyalar joylangan file.
  • methodism/main.py Asosiy class yozilgan file
  • methodism/models.py Kerakli bo'lishi mumkin bo'lgan modellar to'plami
  • methodism/paginator.py va methodism/sqlpaginator.py Ushbu fayllar bizga paginatsiya hosil qilishda yordam beradi

Ishlatish ketma ketligi

Birinchi navbatda kerakli kutubxonalarni o'rnatib olishingiz kerak

From GitHub

  pip install -r requirements.txt

From PyPi

  pip install Django==4.2 django-rest-framework==0.1.0 djangorestframework==3.14.0

Yuklab olib bo'lgach O'zingizga views.py faylida kerakli bo'lgan classni yozing va uni urls.py ga ulang, class ga esa methodism/main.py dagi METHODISM classidan vorislik bering.

Example in views.py

from methodism.main import METHODISM

# agar bundan foydalansangiz settings.INSTALLED_APPS ga 'rest_framework.authtoken' ni qo'shib qo'ying
from rest_framework.authtoken.models import Token 


class YourClass(METHODISM):

    file = '__main__'
    get_methods = "__main__"  # faqat get methodlari uchun
    token_key = "Bearer"
    auth_headers = "Authorization"
    token_class = Token
    not_auth_methods = [] # ro'yxatdan o'tish shart bo'lmagan kutubxonalarni qo'shib qo'ying
    
    
    """ Misol uchun yozgan funksiyangiz:
        def salom_dunyo(requests, params):
            return "salom"
        methodism:
            salom.dunyo
        
        siz yozgan har qanday ostki chiziqli yoki oddiy chiziqli funksiyalar nuqta orqali avtomatik ajratiladi!
        not_auth_methods = ['salom.dunyo']
     """

Navbatdagi class SqlAPIMethodism

from methodism.main import SqlAPIMethodism

# agar bundan foydalansangiz settings.INSTALLED_APPS ga 'rest_framework.authtoken' ni qo'shib qo'ying
from rest_framework.authtoken.models import Token 
# import your funksitions located file

class YourClass(SqlAPIMethodism):

    file = "__main__"  # funksiyalar joylashgan fileni hech qanday qo'shimchalarsiz tanishitiring
    get_methods = "__main__"  # faqat get methodlari uchun
    token_key = "Bearer"
    auth_headers = "Authorization"
    token_class = Token
    not_auth_methods = [] # ro'yxatdan o'tish shart bo'lmagan kutubxonalarni qo'shib qo'ying
    
    
    """ Misol uchun yozgan funksiyangiz:
        def sizni_funksiyangiz(request, params):
            return "select columns from your_table", True  # natija bitta bo'sa True ko'p bo'lsa False Qo'yiladi      
        
        siz yozgan har qanday ostki chiziqli yoki oddiy chiziqli funksiyalar nuqta orqali avtomatik ajratiladi!
        not_auth_methods = ['sizni.funksiyangiz']
     """

funksiya taxmianan shunaqa yozilishi shart!

def funk(request, params):
    return "select colums from your_table", False

# sql zaprosga istalgancha uzunlik mumkin, funk 2ta qiymat strda->sql va ikkinchisi Bool typiga ega bo'lishi kerak
# True -> agar natija bitta bo'lsa
# False -> agar natija bittadan ko'p bo'lsa

# AGARDA XATOLIK QAYTARMOQCHI BO'LINSA

# post funksiya
def funk(request, params):
    return {"error": "xatolik"}  # xatolikni chiqarish uchun list yoki dict formatlaridan foydalananing!!

# DIQQAT: GET zaprosi uchun funksiya yozilganda Params kirib kelmaydi

Qo'shimcha ishlatishga oid qoidalarni Methodism Asosiy funksiyasigaa kiritilgan documentatsiyadan ham o'rganib olish mumkin


Kod Manbalari

Methodism Barcha uchun ochiq kutubxona. Kodlari va yoki qo'shimcha ma'lumotlarni bemalol githubdan yoki dasturchining o'zidan so'rab o'rganib olishingiz mumkin

Happy Time. Enjoy IT ;)

if you can't understand contact with programmer

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

methodism-0.3.4.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

methodism-0.3.4-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file methodism-0.3.4.tar.gz.

File metadata

  • Download URL: methodism-0.3.4.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.4

File hashes

Hashes for methodism-0.3.4.tar.gz
Algorithm Hash digest
SHA256 88edd4c89f7d1189c07ec1fde0cda4ee6458d601e70a5b8c7ff9742a3c2f1164
MD5 086d2de96b511fb775319bf72ca0bf50
BLAKE2b-256 9a989bf27c5579a87e65c715dffc391ce6225adc30a0331088d5d1808e636a1e

See more details on using hashes here.

File details

Details for the file methodism-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: methodism-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 14.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.4

File hashes

Hashes for methodism-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 41968616e87e8318c74372e3e8426b20f3413dca0b2c353b2a05f9b1cb34885b
MD5 200f0f2b9af8719dfbe1c349ae35ac62
BLAKE2b-256 2467db461d1aaf42ac140c6ee3b6d945dfc0c9c881245db5d0adea7f70a51563

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page