Nomnom Pumpernickle Muffins
    Wondering what’s next for npm?Check out our public roadmap! »

    @serverless/tencent-django

    1.0.2 • Public • Published

    Serverless Django Tencent Cloud

    腾讯云 Django Serverless Component

    简介

    腾讯云 Django Serverless Component, 支持 Restful API 服务的部署.

    目录

    1. 准备
    2. 安装
    3. 配置
    4. 部署
    5. 移除

    0. 准备 `

    新建Django服务之后,创建一个app(mytest):

    view.py

    from django.shortcuts import render
    from django.http import HttpResponse
     
     
    # Create your views here. 
     
    def hello(request):
        return HttpResponse("Hello world ! ")
     

    增加路由信息:

    """mydjango URL Configuration
     
    The `urlpatterns` list routes URLs to views. For more information please see:
        https://docs.djangoproject.com/en/3.0/topics/http/urls/
    Examples:
    Function views
        1. Add an import:  from my_app import views
        2. Add a URL to urlpatterns:  path('', views.home, name='home')
    Class-based views
        1. Add an import:  from other_app.views import Home
        2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
    Including another URLconf
        1. Import the include() function: from django.urls import include, path
        2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
    """
    # from django.contrib import admin 
    from django.urls import path
    from mytest.views import hello
     
    urlpatterns = [ 
        path('hello/'hello), 
        # path('admin/', admin.site.urls), 
    ]
     

    settings.py进行修改:

    • 注释掉数据库部分,如果有需要可以考虑使用mysql等;
    • ALLOWED_HOSTS部分增加*: ALLOWED_HOSTS = ['*']

    1. 安装

    通过 npm 全局安装 serverless cli

    $ npm install -g serverless

    2. 配置

    本地创建 serverless.yml 文件,在其中进行如下配置

    $ touch serverless.yml
    DjangoTest:
      component: '@serverless/tencent-django'
      inputs:
        region: ap-guangzhou
        functionName: DjangoFunctionTest
        djangoProjectName: mydjango
        code: ./
        functionConf:
          timeout: 10
          memorySize: 256
          environment:
            variables:
              TEST: vale
          vpcConfig:
            subnetId: ''
            vpcId: ''
        apigatewayConf:
          protocols:
            - http
          environment: release
     

    注意,这里的djangoProjectName必须要和你的项目名称一致!

    并将python所需要的依赖安装到项目目录,例如本实例需要Django,所以可以通过pip进行安装:

    pip install Django -t ./
    

    如果因为网络问题,可以考虑使用国内源,例如:

    pip install Django -t ./ -i https://pypi.tuna.tsinghua.edu.cn/simple
    

    3. 部署

    如您的账号未 登陆注册 腾讯云,您可以直接通过 微信 扫描命令行中的二维码进行授权登陆和注册。

    通过 sls 命令进行部署,并可以添加 --debug 参数查看部署过程中的信息

    $ sls --debug

    4. 移除

    通过以下命令移除部署的服务

    $ sls remove --debug

    账号配置(可选)

    当前默认支持 CLI 扫描二维码登录,如您希望配置持久的环境变量/秘钥信息,也可以本地创建 .env 文件

    $ touch .env # 腾讯云的配置信息 

    .env 文件中配置腾讯云的 SecretId 和 SecretKey 信息并保存

    如果没有腾讯云账号,可以在此 注册新账号

    如果已有腾讯云账号,可以在 API 密钥管理 中获取 SecretIdSecretKey.

    # .env
    TENCENT_SECRET_ID=123
    TENCENT_SECRET_KEY=123

    Install

    npm i @serverless/tencent-django

    DownloadsWeekly Downloads

    4

    Version

    1.0.2

    License

    Apache-2.0

    Unpacked Size

    1.66 MB

    Total Files

    108

    Last publish

    Collaborators

    • avatar
    • avatar