魯去非 湖北大學知行學院
首先,我們需要設計一個模型用于與數(shù)據(jù)庫交互,例如我們要設計一個名片的模型。
設計完模型后,如果想讓數(shù)據(jù)庫中產(chǎn)生相應的表,首先需要生成遷移文件,然后完成遷移。這時,數(shù)據(jù)庫中就會生成一個唯一對應的表,用于存儲定義的數(shù)據(jù)。但是在這之前,我們還需要在setting.py文件中定義想要使用的數(shù)據(jù)庫。
定義數(shù)據(jù)庫需要輸入相應的信息,例如:
視圖用于接收請求,獲得數(shù)據(jù),返回結(jié)果。這時我們先初步設計一個簡單的視圖
在django中,視圖對WEB請求進行回應,視圖接收reqeust對象作為第一個參數(shù),包含了請求的信息,視圖就是一個Python函數(shù),被定義在views.py中。
HttpResponse對象:在django.http模塊中定義了HttpResponse對象的API
HttpRequest對象由Django自動創(chuàng)建,HttpResponse對象由程序員創(chuàng)建,不調(diào)用模板,直接返回數(shù)據(jù)。這里我們返回了一條字符串,那么在瀏覽器中,就只有這一段字符串顯示。
說到HttpResponse,就要說到它的兩個子類HttpResponseRedirect、JsonResponse。
HttpResponseRedirect用 于 重 定 向, 例 如 return HttpResponseRedirect(‘hello'),觸發(fā)的時候就會重新轉(zhuǎn)向另一個頁面。JsonResponse則用于返回json數(shù)據(jù),一般用于異步請求,例如return JsonResponse({'list': 'abc'}),參數(shù)為字典對象。這么多種方法,可能會讓人感到應用困難,那么 render()方法應運而生。
render(request, template_name, context)
結(jié)合一個給定的模板和一個給定的上下文字典,并返回一個渲染后的HttpResponse對象。request:該request用于生成response,template_name:要使用的模板的完整名稱,context:添加到模板上下文的一個字典,視圖將在渲染模板之前調(diào)用它。重定向函數(shù)則用redirect()來使用,為傳遞進來的參數(shù)返回HttpResponseRedirect。
在settings.py文件中通過ROOT_URLCONF指定根級url的配置
urlpatterns是一個url()實例的列表
一個url()對象包括:1.正則表達式 2.視圖函數(shù) 3.名稱name
編寫URLconf時注意:1.如果要從url中捕獲一個值,需要在它周圍設置一對圓括號 2.不需要添加一個前導的反斜杠,如應該寫作'test/',而不應該寫作'/test/' 3.每個正則表達式前面的r表示字符串不轉(zhuǎn)義。
這里我們配置一個基礎的url:urlpatterns = [url(r'^$',views.index),] 然后在瀏覽器中就可以看到我們定義的視圖中的字符串了。
首先要創(chuàng)建管理員的用戶名和密碼,在命令行輸入:python manage.py createsuperuser
然后按照提示輸入用戶名、郵箱和密碼,就可以完成管理員的創(chuàng)建。
接下來,在應用內(nèi)的admin.py文件中完成注冊,然后就可以在后臺管理站點中維護模型數(shù)據(jù)了。 首先將models中的模型導入admin.py: from .models import * 接下來完成注冊:admin.site.register(Article)
之后,登陸 127.0.0.1:8000/admin/ 就可以進入admin站點,然后輸入賬號密碼,就可以維護模型數(shù)據(jù)了。