Django 프레임워크 - 유행 확장, 간단한 목록

15401 단어 djangopythonopensource
안녕하십니까, 프로그래머 여러분,
본고는 유행하는 Django 모듈과 응용 프로그램의 간단한 목록을 열거하였는데, 이 모듈과 응용 프로그램들은 개원 애호가들이 제공한 가치 있는 작업을 다시 사용해서Python 프로그래머들이 새로운 기능을 더욱 빨리 작성하도록 도와줄 수 있다.

Thank you! Content provided by AppSeed - App Generator.


이 목록은 제 개인적인 경험과 관련 지역사회 개발자가 발표한 건의를 바탕으로 작성되었습니다./, Reddit DjangoPython 채널, 그리고 클래식 채널Python Forum.

Django(웹 프레임워크)


초보자 주의사항-Django는 Python으로 작성된 소스 웹 응용 프로그램 프레임워크입니다.프레임워크는 개발이 더 쉬운 모듈과 조수의 집합을 지시한다.그것들은 논리적으로 조합되어 있으며, 처음부터 작성하지 않고 내용을 다시 사용해서 웹 응용 프로그램을 만들 수 있습니다.
유용한 Django 리소스:

  • Django - 공식 사이트 및 docs

  • Django-(유행적인) 풀스택 Python 플랫폼
  • 에서 제공하는 관련 내용

    쇼트 리스트


  • Django Extensions - 사용자 정의 확장 컬렉션

  • Django REST framework - 웹 API 구축을 위한 유연한 툴킷

  • Drf-Yasg-Django REST 프레임워크의 Swagger 문서 생성기

  • Django Debug Toolbar - 현재 요청된 다양한 디버깅 정보 표시

  • Django CORS Headers - 응답에 소스 간 공유(CORS) 헤드 추가

  • Django reCaptcha v3 - Google reCaptcha v3 Django
  • 에서 통합

  • Django-environ - 환경 변수를 사용하여 Django 어플리케이션을 쉽게 구성할 수 있음

  • Redis cache-Django의 모든 기능 Redis 캐시 백엔드

  • Django Storages-Django의 맞춤형 스토리지 백엔드 컬렉션: Amazon S3, Azure, Digital Ocean, Dropbox.

  • Django Allauth-Django 응용 프로그램의 통합 집합으로 인증, 등록, 계정 관리 및 제3자(사교) 계정 인증을 해결한다.
  • 소스 프로젝트를 업데이트하여 확장자를 신속하게 테스트하려면 짧은 명단Django free applications이 있습니다.

  • Django Atlantis Dark - 소스 코드, 마성이공대학 허가증

  • Django Light Blue - 소스 코드, 마성이공대학 허가증

  • Django Dashboard Black - 소스 코드, 마성이공대학 허가증

  • Django Dashboard Shards - 소스 코드, 마성이공대학 허가증

  • Django Dashboard Material - 소스 코드, 마성이공대학 허가증

  • Django 확장


    이것은 Django 프로젝트의 사용자 정의 확장에 사용되는 소스 모음입니다. MIT 허가증에 따라 발표됩니다.
    어떻게 그것을 사용합니까
    $ pip install django-extensions
    
    Django 구성(settings.py)에서 확장을 활성화합니다.
    INSTALLED_APPS = (
        ...
        'django_extensions',
        ...
    )
    
    이제 우리는 관리를 통해 마술을 사용할 수 있다.py 주 스크립트:
    $ # Generate (and view) a graphviz graph of app models:
    $ python manage.py graph_models -a -o myapp_models.png
    $
    $ # Check templates for rendering errors:
    $ python manage.py validate_templates
    $
    $ # Run the enhanced django shell:
    $ python manage.py shell_plus
    

    Django REST 프레임워크


    Django REST framework는 인상적인 기능 집합을 가진 웹 API를 구축하는 데 사용되는 강력하고 유연한 툴킷입니다.
  • 웹 탐색 API는 개발자에게 커다란 가용성 승리입니다.
  • 인증 정책, OAuth1a와 OAuth2의 패키지를 포함한다.
  • ORM과 비ORM 데이터 원본의 정렬화를 동시에 지원합니다.
  • Django REST 링크:

  • Homepagequickstart 파일
  • Starter Sample Tutorial
  • Django 디버그 도구 모음


    Django 디버깅 도구 모음은 현재 요청/응답에 대한 다양한 디버깅 정보를 표시하는 구성 가능한 패널입니다. 을 클릭하면 패널 내용에 대한 자세한 정보를 표시합니다.

    Django CORS 제목


    Django 응용 프로그램, 응답에 소스 간 공유(CORS) 헤더를 추가합니다.다른 소스에서 Django 응용 프로그램에 브라우저 내 요청을 보낼 수 있습니다.
    어떻게 그것을 사용합니까
    $ pip install django-cors-headers
    
    Django 구성에 확장 추가:
    
    INSTALLED_APPS = [
        ...
        'corsheaders',
        ...
    ]
    
    응답을 탐지하기 위해 중간부품 클래스를 추가해야 합니다.
    
    MIDDLEWARE = [  # Or MIDDLEWARE_CLASSES on Django < 1.10
        ...
        'corsheaders.middleware.CorsMiddleware',
        'django.middleware.common.CommonMiddleware',
        ...
    ]
    
    

    Django reCaptcha v3


    이 통합 응용 프로그램은 Google reCaptcha v3 ReCaptcha 필드를 구현합니다.
    어떻게 그것을 사용합니까
    $ pip install django-recaptcha3
    
    그런 다음 설치된 응용 프로그램에 django-recaptcha3를 추가합니다.
    INSTALLED_APPS = (
        ...
        'snowpenguin.django.recaptcha3',
        ...
    )
    
    reCaptcha 개인 키 및 공개 키 업데이트 사용settings.py:
    RECAPTCHA_PRIVATE_KEY = 'Super_s3Cret_1234'
    RECAPTCHA_PUBLIC_KEY  = 'Public key'
    
    표의 용법
    
    from snowpenguin.django.recaptcha3.fields import ReCaptchaField
    
    class ExampleForm(forms.Form):
        [...]
        captcha = ReCaptchaField()
        [...]
    

    Drf Yasg 회사


    Django REST 프레임워크의 Swagger/OpenAPI 문서 생성기입니다.
    어떻게 그것을 사용합니까
    $ pip install -U drf-yasg
    
    애플리케이션을 활성화하려면 업데이트settings.py:
    INSTALLED_APPS = [
        ...
        'drf_yasg',
        ...
    ]
    
    업데이트urls.py:
    ...
    from rest_framework import permissions
    from drf_yasg.views import get_schema_view
    from drf_yasg import openapi
    
    ...
    
    schema_view = get_schema_view(
       openapi.Info(
          title="Snippets API",
          default_version='v1',
          description="Test description",
          terms_of_service="https://www.google.com/policies/terms/",
          contact=openapi.Contact(email="[email protected]"),
          license=openapi.License(name="BSD License"),
       ),
       public=True,
       permission_classes=(permissions.AllowAny,),
    )
    
    urlpatterns = [
       url(r'^swagger(?P<format>\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'),
       url(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
       url(r'^redoc/$', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
       ...
    ]
    
    이 간단한 설정은 4개의 끝점을 공개합니다.
  • API 사양의 JSON 뷰는/swagger에 있습니다.json
  • API 사양의 YAML 뷰입니다.yaml
  • /swagger/
  • 에서 API 규범의 swagger ui 보기
  • API 사양의 ReDoc 보기는/ReDoc/
  • 에 있습니다.

    Django 환경


    Django environ에서는 환경 변수를 사용하여 Django 응용 프로그램을 구성할 수 있습니다.
    어떻게 그것을 사용합니까
    $ pip install django-environ
    
    Django 프로젝트의 루트 디렉토리에 파일(다음 예제)을 만듭니다.
    DEBUG=on
    SECRET_KEY=your-secret-key
    DATABASE_URL=psql://urser:[email protected]:8458/database
    SQLITE_URL=sqlite:///my-local-sqlite.db
    
    Django 응용 프로그램의 사용 현황(설치된 응용 프로그램에 추가할 필요가 없음)
    
    import environ
    env = environ.Env(
        # set casting, default value
        DEBUG=(bool, False)
    )
    # reading .env file
    environ.Env.read_env()
    
    # False if not in os.environ
    DEBUG = env('DEBUG')
    
    # Raises django's ImproperlyConfigured exception if SECRET_KEY not in os.environ
    SECRET_KEY = env('SECRET_KEY')
    
    # Parse database connection url strings like psql://user:[email protected]:8458/db
    DATABASES = {
        # read os.environ['DATABASE_URL'] and raises ImproperlyConfigured exception if not found
        'default': env.db(),
        # read os.environ['SQLITE_URL']
        'extra': env.db('SQLITE_URL', default='sqlite:////tmp/my-tmp-sqlite.db')
    }
    

    Thank you!

    좋은 웹페이지 즐겨찾기