如果在Django項目 下面新建了blog和polls兩個APP應用,在每個APP下面都各自新建自己的url和templates,那么我們需要如何進行項目配置呢?
?
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # 注冊自己的APP 'blog', 'polls',
]
然后為這兩個APP配置url,在項目的urls.Py中:
from django.conf.urlsimport url, include
from django.contrib import admin # 需要先導入對應app的views urlpatterns = [ # 參數第一部分為url的正則表達式,后面的是業務邏輯函數 # admin后臺路由 url(r'^admin/',admin.site.urls), url(r'^blog/', include('blog.urls', namespace='blog')), url(r'^polls/', include('polls.urls', namespace='polls')),
]
?接下來配置各自的urls.py即可,訪問時,加上各自APP的名稱,例如:http:localhost:8000/blog/user。
?
Django搜索模板的默認目錄是在Django的項目目錄下,若沒有則在APP目錄下找,由于這里有多個APP,所以每個APP都新建自己名稱的目錄,防止不同APP存在同名的模板,以至網站找不到自己的模板。
def index(request): blog_list = models.BlogsPost.objects.all().order_by('-timestamp'); return render(request, "blog/index.html", {"blog_list":blog_list});