1. 程式人生 > >【day 11】python程式設計:從入門到實踐學習筆記-基於Django框架的Web開發-Django入門(二)

【day 11】python程式設計:從入門到實踐學習筆記-基於Django框架的Web開發-Django入門(二)

學習筆記目錄

第十八章 Django入門(二)

建立應用程式

django專案由一系列應用程式組成,他們協同工作,讓專案稱謂一個整體。首先我們執行命令python manage.py startapp learning_logs

定義模型
開啟剛剛我們建立的資料夾,並修改models.py:

from django.db import models
class Topic(models.Model):
    text = models.CharField(max_length=200)
    date_added = models.DateTimeField(auto_now_add=True
) def __str__(self): return self.text

我們為模型建立了一個名為Topic的類,他繼承了Model——django中一個定義模型基本功能的類。Topic類只有兩個屬性:textdate_added
text是一個CharField——由字元或文字組成的資料,可儲存少量文字。傳入引數**max_length**為文字最大長度。
date_added是一個DateField——記錄日期和時間的資料。傳入的實參auto_add_now=True告訴django每當使用者新建主題時,將這個屬性自動設定為當前日期和時間。

啟用模型


開啟learning_log中的setting.py並新增

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'learning_logs', #<-here
]

這是一個元組,包含了django專案中的所有應用程式。接著執行python manage.py makemigrations learning_logs

讓django確定如何修改資料庫。最後應用遷移,執行python manage.py migrate

Django管理網站
1.建立超級使用者,執行命令python manage.py createsuperuser

2.向管理網站註冊模型,開啟 learning_logs下的admin.py,並修改為:

from django.contrib import admin
from learning_logs.models import Topic
admin.site.register(Topic)

這寫程式碼匯入了我們要註冊的模型Topic,接著使用admin.site.register(Topic)讓django通過管理網站管理我們的模型。
接著執行伺服器,訪問http://127.0.0.1:8000/admin並使用著急使用者帳號密碼登入。

3.新增主題,點選Topic之後進入主題網頁,此時可以通過點選add進行主題的新增,新增完成之後點選save進行儲存。

定義模型Entry

learning_logs\models.py
from django.db import models

class Topic(models.Model):
    text = models.CharField(max_length=200)
    date_added = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.text

class Entry(models.Model):
    topic = models.ForeignKey(Topic)
    text = models.TextField()
    date_added = models.DateTimeField(auto_now_add=True)

    class Meta:
        verbose_name_plural = 'entries'

    def __str__(self):
        return self.text[:50] + "..."

ForeignKey是資料庫的外來鍵,引用資料庫中的另一個記錄。Entry類中的Meta類用於儲存管理模型的額外資訊,這裡設定了一個特殊屬性,讓django在需要時使用 Entries 來表示多個條目。

遷移模型Entry
由於我們添加了一個新模型,因此需要再次遷移資料庫。執行命令python manage.py makemigrations learning_logs以及python manage.py migrate.

向管理網站註冊Entry
修改如下檔案

learning_logs\admin.py
from django.contrib import admin

from learning_logs.models import Topic, Entry

admin.site.register(Topic)
admin.site.register(Entry)

返回管理網站可以發現多了一個板塊

接著點選新板塊的add新增以下主題和討論,並點選儲存給我們之後測試使用。
國際象棋:The opening is the first part of the game, roughly the first ten moves or so. In the opening, it’s agood idea to do three things— bring out your bishops and knights, try to control the center of theboard, and castle your king.
攀巖:One of the most important concepts in climbing is to keep your weight on your feet asmuch as possible. There’s a myth that climbers can hang all day on their arms. In reality, goodclimbers have practiced specific ways of keeping their weight over their feet whenever possible

django shell
在輸入以上資料之後,可以通過互動式終端會話訪問這些資料,在測試專案和排除故障的時候會用上。執行命令python manage.py shell可以開啟shell會話。

相關推薦

day 11python程式設計入門實踐學習筆記-基於Django框架Web開發-Django入門

學習筆記目錄 第十八章 Django入門(二) 建立應用程式 django專案由一系列應用程式組成,他們協同工作,讓專案稱謂一個整體。首先我們執行命令python manage.py startapp learning_logs。 定義模型

day 15python程式設計入門實踐學習筆記-基於Django框架Web開發-使用者賬戶

學習筆記目錄 第十九章 使用者賬戶(二) 建立使用者賬戶 這一部分我們來建立使用者註冊和身份驗證系統。 應用程式users 首先使用命令python manage.py startapp users建立名為users的應用程式,現在你的目錄

day 12python程式設計入門實踐學習筆記-基於Django框架Web開發-Django入門

學習筆記目錄 第十八章 Django入門(三) 建立網頁:學習筆記主頁 使用django建立網頁通常分三個階段:定義URL、編寫檢視和編寫模板。 首先必須定義URL模式,其描述了URL是

零開始構建支援TLS1.2的Web伺服器Linux版 配置Tomcat環境

博文目錄 下載Tomcat安裝包 在下載安裝Tomcat前,請確保已經按 (一) 配置JAVA環境 正確安裝配置好Java環境。 根據自己的需要選擇合適的安裝包,官方下載

Python程式設計入門實踐第九章

9-1 餐館 :建立一個名為Restaurant 的類,其方法__init__() 設定兩個屬性:restaurant_name 和cuisine_type 。建立一個名 為describe_restaurant() 的方法和一個名為open_restaurant() 的方

Python程式設計入門實踐第十五章生成資料

15-1 立方:數字的三次方被稱為其立方。請繪製一個圖形,顯示前5個整數的立方值,在繪製一個圖形,顯示前面5000個整數的立方值。 前5個整數的立方值:import matplotlib.pyplot as plt x_values = [1,2,3,4,5] y_val

Python程式設計 入門實踐》習題答案--第八章

# 8-1 訊息 : 編寫一個名為display_message() 的函式, 它列印一個句子, 指出你在本章學的是什麼。 # 呼叫這個函式, 確認顯示的訊息正確無誤。 def display_message(): print('本章學習內容:def(函式)') dis

Python程式設計入門實踐PDF完整版免費下載

內容簡介本書是一本針對所有層次的Python 讀者而作的Python 入門書。全書分兩部分:第一部分介紹用Python 程式設計所必須瞭解的基本概念,包括matplotlib、NumPy 和Pygal 等強大的Python 庫和工具介紹,以及列表、字典、if 語句、類、檔案與

Python程式設計入門實踐第十武裝飛船

12-1 藍色天空 :建立一個背景為藍色的Pygame視窗。 import sys import pygame def run(): pygame.init() screen = pygame.display.set_mode((1200,600)) pygame.d

Python程式設計入門實踐》第11章-測試程式碼 習題

文章目錄 11-1 城市和國家 11-2 人口數量 注意: 11-3 僱員 11-1 城市和國家 編寫一個函式,它接受兩個形參:一個城市名一個國家名。這個函式

Python程式設計入門實踐11章 專案 1  外星人入侵

alien_invasion.py #!/usr/bin/env python # -*- coding:utf-8 -*- import pygame from pygame.sprite import Group from settings import Setting

Python程式設計 入門實踐》習題答案--第十六章,番外2

【第一步】: 下載pygal_maps_world庫,方法同番外1:http://blog.csdn.net/qq471011042/article/details/79172064 【第二步】: 將

python程式設計入門實踐 pdf 下載

上到有程式設計基礎的程式設計師,下到10歲少年,想入門Python並達到可以開發實際專案的水平,本書是讀者優選!  本書是一本全面的從入門到實踐的Python程式設計教程,帶領讀者快速掌握程式設計基礎知識、編寫出能解決實際問題的程式碼並開發複雜專案。  書中內容分為基礎篇和

python程式設計入門實踐學習筆記-Django開發使用者賬戶

讓使用者能夠輸入資料(表單) 在建立使用者賬戶身份驗證系統之前,先新增幾個頁面,讓使用者能偶輸入資料。新增新主題、新增新條目以及編輯既有條目。 新增新主題 1.用於新增主題的表單 建立一個forms.py檔案與models.py放在同一目錄下。 from django import

python程式設計入門實踐學習筆記-Django入門

建立其他網頁 我們接下來擴充“學習筆記”專案,建立兩個顯示資料的網頁,其中一個列出所有的主題,另一個顯示特定主題的所有條目。 模板繼承 編寫一個包含通用元素的父模板,並讓每個網頁都繼承這個模板,而不必在每個網頁中重複定義這些通用元素。這樣我們可以專注於開發每個網頁的獨特部分。1.父模板

python程式設計入門實踐學習筆記-Django入門

建立網頁:學習筆記主頁 使用django建立網頁通常分三個階段:定義URL、編寫檢視和編寫模板。 首先必須定義URL模式,其描述了URL是如何設計的,讓django知道如何將瀏覽器請求與網站URL匹配,以確定返回哪個網頁。每個URL都被對映到特定的檢視——檢視函式獲取並處理網頁所需的資料。檢視函

python程式設計入門實踐學習筆記Django入門

  建立應用程式 django專案由一系列應用程式組成,他們協同工作,讓專案稱謂一個整體。首先我們執行命令python manage.py startapp learning_logs。     定義模型 開啟剛剛我們建立的資料夾,並修改mod

python程式設計入門實踐學習筆記-類

面向物件程式設計時,都會遇到一個概念,類,python也有這個概念,下面我們通過程式碼來深入瞭解下。 建立和使用類 class Dog():    def __init__(self, name, age):        

python程式設計入門實踐學習筆記-檔案和異常

從檔案中讀取資料 讀取檔案、檔案路徑 #pi_digits.txt 3.1415926535   8979323846   2643383279 #file_reader.py fillename = 'pi_digits.txt' #讀取整個檔案 with

python程式設計入門實踐學習筆記-字典

字典類似於通過聯絡人名字查詢聯絡人電話號碼的電話本,即把鍵(名字)和值(電話號碼)聯絡在一起。注意,鍵必須是唯一的。並且python只能使用不可變的物件(比如字串)來作為字典的鍵,但是可以將不可變或可變的物件作為字典的值。舉一個簡單的字典例子。 alien = {'color': 'gre