Django文件結(jié)構(gòu)
設計模型Model - models.py
#myProject/myApp/models.py
form django.db import models
class book(models.Model):
name = models.CharField(max_length=100)
pub_date = models.DateField()
設計視圖Views - views.py
# myProject/myApp/views.py
from django.shortcuts import render
from .models import Person
def book_archive(request, year):
book_list = Person.objects.filter(birth_year = year)
context = {'year': year, 'book_list': book_list}
return render(request, 'books/year_archive.html', context)
設計鏈接Urls - urls.py
# myProject/myApp/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('books/<int:year>', views.year_archive),
]
設計模板Templates - year_archive.html
# /template/year_archive.html
{% block title %}Books for {{ year }}{% endblock %}
{{% block content %}}
<h1>Articles for {{years}}</h1>
{% for book in book_list %}
<p>{{ book.name }}</p>
<p>Published {{ book.pub_date|date:"F j, Y" }}</P>
{% endfor %}
{% end block %}
Django的這種結(jié)構(gòu)我們稱之為MTV模式:M代表模型(Model)骆膝,T代表模板(Template)蜡峰,V代表視圖(View)。這三個分別代表了三種不同功能的Web應用漏策,各司其職,又彼此合作。 大家一定聽說過MVC模式(Mode-View-Controller)喳张,MTV模式本質(zhì)上與MVC相同哥遮,都是讓各組件保持低耦合的關系岂丘。 關于MTV模式我們將在后面部分詳細的講解。