<span style="font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"> django資料庫建表不用寫MYSQL語句,直接在models.py中定義好model類,然後執行 python manage.py syncdb 就可以直接自動建立對應的表了。如下代碼所示</span>
class Publisher(models.Model):
name = models.CharField(max_length = 30)
address = models.CharField(max_length = 50)
city = models.CharField(max_length = 60)
state_province = models.CharField(max_length = 60)
country = models.CharField(max_length = 50)
website = models.URLField()
class Author(models.Model):
first_name = models.CharField(max_length = 30)
last_name = models.CharField(max_length = 40)
email = models.EmailField()
class Book(models.Model):
title = models.CharField(max_length = 50)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publish_date = models.DateField()
就可以建立對應的四個MSQ表格,這種做法本地操作沒問題,可以DJANGO項目部署到SAE上面如何實作呢?
1. 本地得安裝 SAE 環境
2. settings.py 中加入以下代碼
if True:
from sae._restful_mysql import monkey
monkey.patch()
MYSQL_HOST_M = 'w.rdc.sae.sina.com.cn'
MYSQL_PORT = '3307'
MYSQL_USER = 'APP_ACCESS'
MYSQL_PASS = 'APP_SECRET'
MYSQL_DB = 'app_APP_NAME'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': MYSQL_DB,
'USER': MYSQL_USER,
'PASSWORD': MYSQL_PASS,
'HOST': MYSQL_HOST_M,
'PORT': MYSQL_PORT,
}
其中, APP_ACCESS, APP_SECRET, APP_NAME 都在sae的應用頁可以看到,換成你應用的相關代碼,然後執行 sync db 即可
執行完之後, True 改成 False
最新内容請見作者的GitHub頁:http://qaseven.github.io/