Django搭建博客網站(二)
阿新 • • 發佈:2018-01-15
mar blank python lan n) htm gpo -m max
Django搭建自己的博客網站(二)
這裏主要講構建系統數據庫Model.
Django搭建博客網站(一)
model
目前就只提供一個文章model和一個文章分類標簽model,在post/models.py
中做如下修改:
# models.py
from django.db import models
class PostTag(models.Model):
tag_name = models.CharField(max_length=50)
def __str__(self):
return self.tag_name
class Post(models.Model):
post_title = models.CharField(max_length=200)
pub_date = models.DateField(‘published date‘)
change_date = models.DateField(‘changed date‘)
post_description=models.CharField(max_length=200)
post_content = models.TextField()
posttag = models.ManyToManyField(PostTag,blank=True)
def __str__(self ):
return self.post_title
因為一篇文章可能有多個標簽,一個標簽下可能也有多篇文章,所以數據表關聯關系就使用的多對多關系(ManyToMany).
創建管理員用戶
$ python manage.py createsuperuser
設置用戶名,郵箱,密碼.
現在運行項目可以訪問127.0.0.1:8000/admin
.
為post註冊url
現在還不能訪問post app,因為還沒有註冊url,註冊url,首先在post的目錄下創建一個urls.py
:
# post/urls.py
from post import views
app_name=‘post‘
urlpatterns= [
path(‘‘,views.index,name=‘index‘),
]
# post/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse(‘<h1>Hello</h1>‘)
此時再運行項目就可以訪問127.0.0.1:8000/post
,從而訪問post app的首頁了.
後臺管理
先得把上面的兩個model在admin.py
裏面註冊:
# post/admin.py
# .....
class PostAdmin(admin.ModelAdmin):
filter_horizontal = (‘posttag‘,)
admin.site.register(Post,PostAdmin)
admin.site.register(PostTag)
此時在後臺就可以管理文章和文章標簽了.
本文到此結束了,下一篇寫寫view的邏輯和html模板.
Django搭建博客網站(二)