SAE网站搭建(1)

  用了半天时间,把Django的基本结构同步到SAE上了,里边比较麻烦的地方如下:

  1. 数据库的同步; SAE用的是SQL数据库,默认使用下面的用户名、密码等变量(SAE为我们做了很多工作)

    首先需要修改mysite下的setting.py,以实现线上和线下操作:

    import os    

    if 'SERVER_SOFTWARE' in os.environ:
    from sae.const import (
      MYSQL_HOST, MYSQL_PORT, MYSQL_USER, MYSQL_PASS, MYSQL_DB
     )
    else:
      MYSQL_HOST = 'localhost'
      MYSQL_PORT = '3306'
      MYSQL_USER = 'XXXX'
      MYSQL_PASS = 'XXXXXX'
      MYSQL_DB = 'blog'

  DATABASES = {

    'default': {
      'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
      'NAME': MYSQL_DB, # Or path to database file if using sqlite3.
      'USER': MYSQL_USER, # Not used with sqlite3.
      'PASSWORD': MYSQL_PASS, # Not used with sqlite3.
      'HOST': MYSQL_HOST, # Set to empty string for localhost. Not used with sqlite3.
      'PORT': MYSQL_PORT, # Set to empty string for default. Not used with sqlite3.
    }
  }

    然后,在本地创建数据库: python manage.py syncdb

    接下来把本地mysql中对应的数据库导出(sql格式), 命令: mysqldump -hlocalhost -uroot -p mblog >database-name.sql

    最后登录 www.sinaapp.com, 进入应用 ->MySQL管理,选择图形界面下的Import,把sql文件导进去。这里还有一个小问题是上面命令导出的sql文件里会有Lock table, Unlock table的操作,SAE是不识别的,需要删掉。

   2. 登录 yoursite.com/admin,没有CSS效果的解决办法

    1)修改 settings.py

      #重新定向admin模块的CSS路径

      ADMIN_MEDIA_PREFIX = '/static/admin/'

      #指定静态文件的位置,即CSS文件的位置

      TEMPLATE_DIRS = (

        # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
        # Always use forward slashes, even on Windows.
        # Don't forget to use absolute paths, not relative paths.
        os.path.join(os.path.dirname(__file__), '../templates').replace('\','/'),
      )

原文地址:https://www.cnblogs.com/nokia/p/3421827.html