1. 程式人生 > >Django搭建博客網站(二)

Django搭建博客網站(二)

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搭建博客網站(二)