-
Notifications
You must be signed in to change notification settings - Fork 0
Practice05 Menu Page with SQL
django-admin.py startproject my_menu_sql
cd /Documents/python/Django/practices/my_menu_sql
or
cd my_menu_sql/
python manage.py runserver
url = http://127.0.0.1:8000/
example:
python manage.py startapp restaurents
建立templates folder在restaurant, 不需要在settings加templates加路徑
在restaurant -> templates把menu and menu2.html 放入
要把INSTALLED_APPS 加入 restaurents ,因為它是一個app
要變成這樣
url(r'^menu/', menu),
url(r'^menu2/', menu2),
裡面加入(詳細可參考原始碼):
class Restaurant(models.Model):
class Food(models.Model):
#確認Models裡的語法
python manage.py XXXX
example : python manage.py check
用來確認model裡的語法是否有錯
#確認Migration
python manage.py makemigrations XXXX
example : python manage.py makemigrations restaurants
會確認migration,如果模組有異則產生新的migration,並產生模組
在migration folder裡面可以看到第一次 model as 0001_initial.py
dependencies ==根據XXX 做了異動
operations ==實際模組的運行
python manage.py sqlmigrate restaurants XXXX
example :
python manage.py sqlmigrate restaurants 0001
python manage.py sqlmigrate restaurants 0002
To database:
python manage.py migrate restaurants 0002
from django.shortcuts import render_to_response
from restaurants.models import Restaurant, Food
def menu(request):
restaurants = Restaurant.objects.all()
return render_to_response('menu.html',locals()) def menu2(request):
restaurants = Restaurant.objects.all()
return render_to_response('menu2.html',locals())
可以從sqlite裡面,確認modules是否有被寫入進去
在每個project裡面有都sqlite file (default就建立起來的)