在SAE上部署Python的Django框架的一些问题汇总

下面是部署Python的Django框架在SAE上的一些问题汇总的完整攻略和两个示例说明。

1. 环境搭建

首先,需要在本地安装 Django 和 mysqlclient。
可以使用以下命令:

pip install django
pip install mysqlclient

如果报错,可以尝试使用以下命令:

pip install django --user
pip install mysqlclient --user

2. 创建 Django 项目

可以使用以下命令创建 Django 项目:

django-admin startproject project_name

3. 推送项目至 SAE

将本地 Django 项目推送至 SAE,可以使用以下命令:

git init
git add .
git commit -m "first commit"
git remote add sae https://git.sinacloud.com/your-sae-app-name.git
git push sae master

4. 修改配置文件

需要将 settings.py 文件中的 DATABASES 配置改为以下内容:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'your_db_name',
        'USER': 'your_db_username',
        'PASSWORD': 'your_db_password',
        'HOST': 'w.rdc.sae.sina.com.cn',
        'PORT': '3307',
    }
}

需要将 project_name/wsgi.py 文件中的内容改为以下内容:

from django.core.wsgi import get_wsgi_application
import os
import sys

path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
if path not in sys.path:
    sys.path.insert(0, path)

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project_name.settings')

application = get_wsgi_application()

5. 修改数据库中默认字符集为 utf8mb4

需要在 SAE 的数据库中修改表格的默认字符集为 utf8mb4。

示例一:创建一个名为 demo 的 Django 应用

可以使用以下命令:

python manage.py startapp demo

然后在 urls.py 文件中添加以下内容:

from django.conf.urls import url
from demo.views import *

urlpatterns = [
    url(r'^hello/$', hello, name='hello'),
]

在 demo/views.py 文件中添加以下内容:

from django.http import HttpResponse


def hello(request):
    return HttpResponse("Hello World")

在 SAE 的数据库中创建一张表,表名为 test,结构如下:

id int(11) NOT NULL AUTO_INCREMENT,
content varchar(100) NOT NULL,
PRIMARY KEY (`id`)    
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

在 demo/views.py 文件中添加以下代码:

from django.http import HttpResponse
from django.shortcuts import render
from django.db import connections

def test(request):
    cursor = connections['default'].cursor()
    sql = "INSERT INTO test(content) VALUES ('test')"
    cursor.execute(sql)
    return HttpResponse("success")

在 urls.py 文件中添加以下代码:

from django.conf.urls import url
from demo.views import *

urlpatterns = [
    url(r'^hello/$', hello, name='hello'),
    url(r'^test/$', test, name='test'),
]

现在,访问 https://your-sae-app-name.sinaapp.com/test/,应该会将 "test" 插入到数据库中的 test 表中,并返回 "success"。

示例二:读取环境变量

在 Django 项目中,可以使用以下代码来读取环境变量:

import os

env = os.environ.get('ENV', 'dev')

其中,'dev' 是默认值。

在 SAE 的应用设置中,可以设置环境变量,例如:

ENV=prod

这样,在 Django 项目中读取 env 环境变量时,会得到 'prod' 的值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在SAE上部署Python的Django框架的一些问题汇总 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • django之百度Ueditor富文本编辑器后台集成

    Python3 + Django2.0 百度Ueditor 富文本编辑器的集成 百度富文本编辑器官网地址:http://fex.baidu.com/ueditor/   疑问:为什么要二次集成? 答案:因为百度富文本编辑器Ueditor没有对python的支持   步骤1:   在官网下载Ueditor的任意版本代码:http://ueditor.baidu…

    Django 2023年4月13日
    00
  • 使用Django开发简单接口实现文章增删改查

    下面我将详细讲解使用Django开发简单接口实现文章增删改查的完整攻略。 简介 Django是一个基于MVC架构的Web开发框架,提供了一整套用于快速开发高质量Web应用程序所需的组件和工具。在Django中,我们可以使用ORM(Object Relational Mapping)来操作数据库,从而方便地对数据库进行增删改查操作。 开发环境要求 Python…

    Django 2023年5月16日
    00
  • django rest_framework中的mixins,generics,ModelViewSet中的url简写

    models.py from django.db import models class UserInfo(models.Model): name = models.CharField(max_length=32) pwd = models.CharField(max_length=32) class UserToken(models.Model): tok…

    Django 2023年4月11日
    00
  • django中iframe请求报错的问题

    view.py与urls.py中的请求方法配置好了之后,在iframe调用,报如下错误: Refused to display ‘http://localhost:8000/welcome’ in a frame because it set ‘X-Frame-Options’ to ‘deny’. 解决办法: 在setting.py中加上: X_FRAME…

    Django 2023年4月11日
    00
  • 【Django单元测试方法】

    一.前言/准备   测Django的东西仅限于在MTV模型。哪些可以测?哪些不可以。 1.html里的东西不能测。①Html里的HTML代码大部分都是写死的②嵌套在html中的Django模板语言也不能测,即使有部分逻辑。 但写测试用例时至少要调用一个类或者方法。模板语言没有出参也没有入参,不能测2.models模型可测。属于数据库层3.views,视图层可…

    Django 2023年4月11日
    00
  • django 中的setting 各种配置logging MySQL

    AUTH_USER_MODEL = ‘APP.UserInfo’#Django允许你通过修改setting.py文件中的 AUTH_USER_MODEL 设置覆盖默认的User模型,其值引用一个自定义的模型。 MySQL 数据库 的 setting配置 DATABASES = { ‘default’: { ‘ENGINE’: ‘django.db.backe…

    Django 2023年4月13日
    00
  • Django小白教程之Django用户注册与登录

    好的。首先,我来介绍一下本文的完整攻略,包括以下步骤: 搭建Django环境; 创建一个Django项目; 创建一个Django App; 安装必要的依赖; 配置数据库; 创建用户模型; 创建注册和登录表单; 处理表单提交请求; 创建注册和登录视图函数; 在模板中渲染表单; 完善用户登录后的页面; 添加退出登录功能; 配置Django的邮件发送功能; 在用户…

    Django 2023年5月16日
    00
  • 全面剖析Python的Django框架中的项目部署技巧

    全面剖析Python的Django框架中的项目部署技巧 简介 Django是Python最有名的web框架之一,提供了强大的ORM、模板引擎、路由等功能,被广泛应用于企业级应用和个人项目。在Django开发完成后,我们需要进行项目部署来进行生产环境的使用。本文将全面剖析Python的Django框架中的项目部署技巧。 准备工作 在进行Django项目的部署之…

    Django 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部