這個文檔是參考一個網絡上的實例,裏面添加了自己的一些分析和補充。
建立工程,項目
創建 應用的 models
修改 eblog/models.py,
1 在數據庫裏建立一個2維表格。
2 修改admin頁面的顯示列表。
from django.db import models
# Create your models here.
from django.contrib import admin
class BlogPost(models.Model):
title = models.CharField(max_length = 150)
content = models.TextField()
class BlogPostAdmin(admin.ModelAdmin):
list_display = ('title' , 'content' )
admin.site.register(BlogPost, BlogPostAdmin)
創建一個視圖文件
from django.template import loader,Context
from django.http import HttpResponse
from eblog.models import BlogPost
def archive (request):
posts = BlogPost.objects.all()
t = loader.get_template('archive.html')
c = Context ({'posts':posts})
return HttpResponse(t.render(c))
配置工程
my_project/settings.py
1 在工程裏註冊APP
2 配置網頁模版的路徑
INSTALLED_APPS = [
'eblog',
TEMPLATES = [
{
'DIRS': [os.path.join(BASE_DIR,'templates'),],
配置鏈接反饋
from django.conf.urls import url
from django.contrib import admin
admin.autodiscover()
from eblog.views import archive
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^eblog/', archive),
]
網頁模版代碼:
archive.html
{% extends "base.html" %}
{% block content %}
{% for post in posts %}
<h1> {{post.title}}</h1>
<p> {{ post.content }} </p>
{% endfor %}
{% endblock %}
base.html
<html>
<style type="text/css">
body {color:#edf; background:#453; padding:0 5em; margin:0 }
h1 {padding:2em 1em; background:#675 }
h2 {color:#bf8; border-top:1px dotted #fff; margin-top:2em }
p { margin:1em 0}
</style>
<body>
<h1><center> Hong 's Blog </center> </h1>
{% block content %}
{% endblock %}
</body>
</html>