การสร้าง Model
แก้ไขไฟล์ models.py ที่ Applicationfrom django.db import models
# Create your models here.
class Topic(models.Model):
top_name = models.CharField(max_length=264, unique=True)
def __str__(self):
return self.top_name
class Webpage(models.Model):
topic = models.ForeignKey(Topic)
name = models.CharField(max_length=264, unique=True)
url = models.URLField(unique=True)
def __str__(self):
return self.name
class AccessRecord(models.Model):
name = models.ForeignKey(Webpage)
date = models.DateField()
def __str__(self):
return str(self.date)
# return value on admin interface
เสร็จแล้วสั่ง migrate และ makemigrations และ migrate อีกรอบ
python manage.py migrate python manage.py makemigrations first_app python manage.py migrate
ทดสอบ Model โดยการใช้ Python Shell
python manage.py shell
from first_app.models import Topic print(Topic.objects.all()) t = Topic(top_name="Social Network") t.save() print(Topic.objects.all()) quit()
การใช้งาน Admin Interface ของ django 1.10
แก้ไขไฟล์ admin ที่ Application
from django.contrib import admin from first_app.models import AccessRecord, Topic, Webpage # Register your models here. admin.site.register(AccessRecord) admin.site.register(Topic) admin.site.register(Webpage)
python manager.py createsuperuser python manager.py runserver #http://localhost:8000/admin
การเรียกขึ้นมาใช้ใน Template (Model Template View)
แก้ไขไฟล์ urls.py เพื่อเพิ่ม url และแก้ไขไฟล์ views.py โดยจะดึงค่าจากไฟล์นี้... urlpatterns = [ ... url(r'^model', views.model, name='model') ]
...
from first_app.models import AccessRecord, Topic, Webpage
...
def model(request):
webpages_list = AccessREcord.objects.order_by('date')
data_dict = {'access_records': webpage_list}
return render(request, 'first_app/model.html', context=data_dict)
...
<div class="django">
{% if access_records %}
<table>
<thead>
<th>Site Name</th>
<th>Date Accessed</th>
</thead>
<tbody>
{% for acc in access_records %}
<tr>
<td>{{ acc.name }}</td>
<td>{{ acc.date }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p>No Access Records Found!</p>
{% endif %}
</div>
...
ไม่มีความคิดเห็น:
แสดงความคิดเห็น