全部文章:
django入門(一) — 介紹與設定開發環境
django入門(二) — 建立資料庫與專案
django入門(三) — 簡單範例(1)-建立app
django入門(四) — 簡單範例(2)-範本與範本繼承
django入門(五) — 簡單範例(3)-靜態檔
django入門(六) — 資料模型與填充程式
django入門(七) — Django ORM操作
stock/models.py
class Stock(models.Model):
name = models.CharField(max_length=128, unique=True)
content = models.TextField()
price = models.FloatField()
def __str__(self):
return self.name
makemigrations會產生遷移檔用來產生資料表。
右鍵點擊專案 → Django → Custom Command → Command: makemigrations → OK
會看到
Migrations for 'stock':
stock\migrations\0001_initial.py
- Create model Stock
之後接著
右鍵點擊專案 → Django → Migrate
這裡我們已經成功建立資料表了
我們可以先寫一個填充程式,來看看我們的資料模型是否正確。
專案目錄建立一個populate的資料夾
下面建立三個py檔分別為__init__.py、base.py、stock.py
populate/base.py
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'demo.settings')
import django
django.setup()
populate/stock.py
from populate import base
from stock.models import Stock
stocks = ['台積電', '聯電']
prices = [672.00, 62.70]
contents = ['台積電是臺灣一家從事晶圓代工的半導體製造廠,總部位於新竹科學園區,主要廠房則分布於新竹市、臺中市、臺南市。','聯華電子股份有限公司,簡稱聯電,英文全名「United Microelectronics Corporation」']
def populate():
print('start ... ', end='')
Stock.objects.all().delete()
for i in range(len(stocks)):
stock=Stock()
stock.name=stocks[i]
stock.content=contents[i]
stock.price=prices[i]
stock.save()
print("success")
if __name__ == '__main__':
populate()
接著我們進入虛擬環境(忘記怎麼進去可以看django入門(二) — 建立資料庫與專案)
進入虛擬環境後,再到專案目錄。
(stockVenv)C: ..\web\workspace\demo>python -m populate.stock
看到success就代表我們成功填充資料了!
stock/views.py把stock改成下面的code
from django.shortcuts import render
from stock.models import Stock
def stock(request):
stocks = Stock.objects.all()
context = {'stock':'stock page',
'stocks':stocks}
return render(request, 'stock/stock.html', context)
stock/templates/stock/stock.html
將下方code放到block content內
<br>
{% for stock in stocks %}
<div align="left">
<h3>名稱:{{ stock.name }}</h3>
<p>當前股價:{{ stock.price }}</p>
<p>簡介:{{ stock.content }}<p>
<hr>
</div>
{% endfor %}
重新啟動伺服器,回到瀏覽器即可看到成果。
ForeignKey:一對多關聯
DateField:日期
DateTimeField:日期時間
FloatField:浮點數
IntegerField:整數
TextField:可存大量的文字