从零开始的Linux运维屌丝之路,资源免费分享平台   运维人员首选:简单、易用、高效、安全、稳定、社区活跃的开源软件

django and rest framework 搭建流程

发布:蔺要红09-15分类: Python

#!/usr/bin/env python
# 使用  django restframework 开发API
django-admin startproject  op_admin   # 开始一个项目
django-admin startapp  dev             # 在项目里运行一个app01/想当于分功能或者业务来写代码
cd op_admin

# 设置pip下载源
mkdir ~/.pip

cat > ~/.pip/pip.conf <<-'EOF'
[global]
index-url=http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
EOF

pip3 install virtualenv  # 安装 virtualenv

virtualenv env          # 2创建虚拟环境
source env/bin/activate

pip3 install  Django==2.2.5
pip3 install djangorestframework  # 安装 djangorestframework
pip3 install coreapi
django-auth-ldap==2.1.0
django-cors-headers==3.1.0
django-filter==2.2.0
djangorestframework==3.10.3
djangorestframework-jwt==1.11.0

# 模版语言(可选)
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],

# 配置静态资源目录(可选)

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),  #真正的目录
    os.path.join(BASE_DIR, 'static2'),
]


# 将新建的dev 和rest_frameworkapp添加到INSTALLED_APPS,settings.py文件:

INSTALLED_APPS = (
    ...
    'app',
    'rest_framework',
)


REST_FRAMEWORK = {
    # Use Django's standard `django.contrib.auth` permissions,
    # or allow read-only access for unauthenticated users.
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
    ]
}


# 4 配置数据库
DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.mysql",
        "NAME": "root",  # 需要自己手动创建数据库
        "USER": "opadmin",
        "PASSWORD": "opadmin",
        "HOST": "127.0.0.1",
        "POST": 3306
    }
}

# 6 生成数据库表
python3 manage.py makemigrations   # 将类转换成数据表结构
python3 manage.py  migrate         # 根据上一句代码生成数据表

# 创建管理员
python3  manage.py createsuperuser


# 创建文件序列化
serializers.py

class EnvConf(models.Model):
    id = models.AutoField(primary_key=True)
    env_name = models.CharField(max_length=30, verbose_name="环境名称", unique=True)
    branch = models.CharField(max_length=10, verbose_name="对应分支")
    
    def __str__(self):
        return self.envname()
    class Meta:
        verbose_name = "环境"
        verbose_name_plural = verbose_name
温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,如有侵权我会在24小时之内删除!

欢迎使用手机扫描访问本站