開發模式:
專案和應用的建立:
設計資料庫和表結構是做**的基礎,因為python和django能夠直接完成這些操作,所以可以不需要設定先。
建立應用後,利用django開發**系統要寫在./blog/models.py中寫乙個類,這個類與資料庫中的資料表具有對應關係。
一下為編寫blog的資料模型類,本質上是乙個繼承了django.db.models.model的類
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import user
class blogarticles(models.model):
title = models.charfield(max_length=300)
author = models.foreignkey(user, related_name="blog_posts", on_delete=models.cascade) #比書上增加了個on_delete,
body = models.textfield()
publish = models.datetimefield(default=timezone.now)
class meta:
ordering = ("-publish",) //規定了blogarticles的例項物件的顯示順序,即按照publish字段值的倒序顯示
def __str__(self):
return self.title
在/mysite/manage.py位置執行python manage.py makemigrations
便會在blog/migrations目錄中建立了乙個blogarticles模型。以上建立了乙個能夠建立資料庫表的檔案,然後就執行
python manage.py migrate
如此就建立了資料庫。
python manage.py createsuperuser
from django.contrib import admin
from .models import blogarticles //將blogarticles類引入當前環境
admin.site.register(blogarticles, blogarticlesadmin) //將該類註冊到admin中
為了使得顯示更加豐富可以繼續在./blog/admin.py中寫入。
class blogarticlesadmin(admin.modeladmin):
list_display = ("title", "author", "publish")
list_filter = ("publish", "author")
search_fields = ('title', "body")
raw_id_fields = ("author",)
date_hierarchy = "publish"
ordering = ['publish', 'author']
lex初學總結(二)
iii.lex 格式 這裡以乙個能分析類似c語言的lex程式原始碼 注釋來說明。在這裡定義re表示式 keyword if while do break true false int char bool real float switch case digit 0 9 letter a za z s...
Django之初學習
由於工作原因接觸第乙個web框架,故在這裡簡記!django 是乙個由 python 編寫的乙個開放源 的 web 應用框架。使用 django,只要很少的 python 的程式開發人員就可以輕鬆地完成乙個正式 所需要的大部分內容,並進一步開發出全功能的 web 服務 django 本身基於 mvc...
Django知識點總結 二
1.django的模板系統 render to response import django.shortcuts.render to response render to response的第乙個引數必須是模板.如果給定第二個引數,第二個引數必須是為該模板建立context時所用的字典 如果不提供第...