如圖所示建立目錄結構:
1.模型的建立:
新增類別,標籤,帖子三個模型,帖子模型外來鍵連線user模型,多對一的關係;帖子模型外來鍵連線category模型,多對一的關係;帖子模型連線tag模型,多對多的關係。
from django.db import models
# create your models here.
from django.contrib.auth.models import user
class
category
(models.model):
name = models.charfield(max_length=100)
def__str__
(self):
return self.name
class
tag(models.model):
name = models.charfield(max_length=100)
#返回的內容會在後台上顯示
def__str__
(self):
return self.name
class
post
(models.model):
title = models.charfield(max_length=70)
body = models.textfield()
created_time = models.datetimefield(auto_now_add=true)
modified_time = models.datetimefield(auto_now=true)
excerpt = models.charfield(max_length=200, blank=true, null=true)
views = models.positiveintegerfield(default=0)
category = models.foreignkey(category, on_delete=models.cascade)
#tag.objects.filter(post=p)多對多可以通過小寫類名傳標籤獲取物件
tags = models.manytomanyfield(tag, null=true, blank=true)
author = models.foreignkey(user, on_delete=models.cascade)
def__str__
(self):
return self.title
2.在blog.urls中新增首頁路由:
新增首頁路由,連線的是views.index檢視函式,命名空間為』index』.
from django.conf.urls import url
from blog import views
urlpatterns = [
url(r'^$', views.index, name='index'),
]
3.在blog.urls中新增帖子列表的檢視函式:
帖子列表的排序為按時間倒序排序,傳入到模板的上下文環境是:
#帖子列表排序
post_list = post.objects.all().order_by('-created_time')
return render(request, 'blog/index.html', context=)
4.在blog.admin中註冊模型:
只有註冊之後的模型才會在後台頁面上顯示出來,然後才能通過後台對模型進行操作。
from django.contrib import admin
# register your models here.
from .models import post, category, tag
admin.site
.register(post)
admin.site
.register(category)
admin.site
.register(tag)
5.**執行之後顯示的效果:
django專案(建立專案)
django admin startproject django demo 在專案中的settings.py中註冊應用 django.contrib.admin django.contrib.auth django.contrib.contenttypes django.contrib.sessio...
Django部落格專案 1
1.把django admin.py檔案放在專案資料夾中,在cmd中使用下面命令 python django admin.py startproject blogproject2.cmd進入blogproject資料夾中。3.生成資料庫 python manage.py makemigrations...
Django 建立專案
c python27 scripts python django admin.py startproject sit c python27 scripts dir 驅動器 d 中的卷是 程式 卷的序列號是 6e32 1e04 c python27 scripts 的目錄 2011 04 13 11 ...