SAE构建Django项目

这篇博客简单记录了如何在SAE上构建Django项目。首先从SAE SVN检出Python应用到本地,接着在Eclipse中创建并指定项目路径。然后,修改index.wsgi文件以指向Django应用,并更新config.yaml。由于数据库兼容问题,需要在settings.py中进行配置,同时在本地和SAE间切换。通过本机数据库同步和SQL文件导入,实现了数据库在SAE上的设置。最后调整online判断,完成配置。

非常简单的记录而已:


1. 创建python应用(废话),从sae的svn中checkout到本地,假设为checkout到 E:\xxx\project\1\ 

2. 在eclipse中创建django项目,前提是要装好pydev插件以及装好django框架。在新建django项目的时候,取消项目创建的默认目录,而是指定到E:\xxx\project\1\ 

3. 改写index.wsgi :sae的python项目入口是index.wsgi,我们需要修改其中的代码,把application指定为我们的django应用,代码如下:

import sae
from myproject import wsgi
application = sae.create_wsgi_app(wsgi.application)
    wsgi在你创建的django应用中就已经有了,直接import就行

4. 直接访问sae的你的项目的网站。有可能会提示你找不到wsgi模块,那有可能是因为你没有修改config.yaml文件,将其修改成:

libraries:
- name: "django"
  version: "1.4"


5.数据库

为了在settings.py兼容本地和SAE上两种模式,在settings中做如下配置

from os import environ
online = environ.get("APP_NAME",None)
if not online:
    db_name = 'dreamshare'      # 数据库名
    user = 'root'    # 用户名
    password = 'root'    # 密码
    host = 'localhost'    # 主库域名(可读写)
    port = 3306    # 端口,类型为,请根据框架要求自行转换为int
    host_s = 'localhost'  # 从库域名(只读)
else:
#     from sae._restful_mysql import monkey
#     monkey.patch()
import sae.const db_name = sae.const.MYSQL_DB # 数据库名 user = sae.const.MYSQL_USER # 用户名 password = sae.const.MYSQL_PASS # 密码 host = sae.const.MYSQL_HOST # 主库域名(可读写) port = int(sae.const.MYSQL_PORT) # 端口,类型为,请根据框架要求自行转换为int host_s = sae.const.MYSQL_HOST_S # 从库域名(只读)DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'NAME': db_name, # Or path to database file if using sqlite3. # The following settings are not used with sqlite3: 'USER': user, 'PASSWORD': password, 'HOST': host, # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP. 'PORT': port, # Set to empty string for default. }}
但是由于SAE数据库上还没有django默认创建的那些表,比如django-session,所以需要我们同步数据库或者人工导入SQL,按照官方文档,将上面代码中下面这一段:

#     from sae._restful_mysql import monkey
#     monkey.patch()

去掉注释,然后在manage.py所在文件夹中在命令行敲入python manage.py syncdb,就可以同步到SAE数据库上,但是要事先安装SAE相关的模块,我没有安装,所以就不能用这种方法同步。

那怎么办呢,很简单,使用本地链接:

暂时把 

if not online
改成

if True

在本机数据库上创建一个和你的数据库名相同的数据库,然后运行python manage syncdb后,django 相关的表就会被创建在本机的数据库中了

然后我们用mysql相关的界面工具,比如我使用的是navicat for mysql,导出数据库表结构的SQL文件,回到SAE的phpmysqladmin上导入SQL文件,这样就完成创建了。

最后记得把  if True 改回来成 if not online

这样就应该可以了,其他的settings,根据文档配置就行

内容概要:本文系统研究了基于豪猪优化算法(CPO)的多无人机协同集群在三维空间中的避障路径规划问题,聚焦于实现以最低成本为目标的航迹优化,综合考虑路径长度、飞行高度、威胁规避及转弯角度等多个关键因素。通过构建精细化的三维环境模型与多无人机协同机制,采用Matlab平台实现CPO算法的仿真与验证,充分展示了该算法在复杂动态障碍环境下的高效搜索能力与全局优化性能。研究不仅涵盖了路径规划的数学建模与目标函数设计,还深入探讨了算法的收敛特性与鲁棒性,为智能群体系统在实际场景中的应用提供了理论依据与技术支撑。; 适合人群:具备一定编程基础和优化算法背景,从事无人机系统控制、智能路径规划、群体协同、人工智能与自动化等相关领域的科研人员、高校研究生及工程技术人员。; 使用场景及目标:①应用于多无人机协同执行侦察、灾害监测、应急救援、区域巡检等复杂任务中的自主路径规划;②为智能优化算法在三维动态环境下的路径决策问题提供可复现的技术范例;③支持研究人员对CPO算法与其他主流群智能算法(如PSO、GWO、WOA等)进行性能对比与改进研究,推动路径规划技术的发展。; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点理解目标函数的多维度建模方式与CPO算法的迭代优化流程,可通过调整环境参数与约束条件进行仿真实验,对比不同算法在相同场景下的路径质量与收敛速度,从而深入掌握其优势与适用边界。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值