97**国产露脸精品国产,国内精品免费一区二区三区,国产精品久久久久久久久妇女,国内一区二区三区精品视频

您現(xiàn)在所在的位置:首頁(yè) >學(xué)習(xí)資源 > Python全棧+人工智能入門(mén)教材 > Python基礎(chǔ)入門(mén)教程68:Django 項(xiàng)目和應(yīng)用程序

Python基礎(chǔ)入門(mén)教程68:Django 項(xiàng)目和應(yīng)用程序

來(lái)源:奇酷教育 發(fā)表于:

要啟動(dòng) Django 項(xiàng),請(qǐng)使用 django-adminstartproject命令,如下所示:清單 3 啟動(dòng)項(xiàng)目1~ dev$ django-admin py startproject djpr

要啟動(dòng) Django 項(xiàng),請(qǐng)使用 django-admin startproject 命令,如下所示:
清單 3. 啟動(dòng)項(xiàng)目
1
~/dev$ django-admin.py startproject djproject

上面這個(gè)命令會(huì)創(chuàng)建一個(gè) djproject 目錄,其中包含了運(yùn)行 Django 項(xiàng)目所需要的基本配置文件:

清單 4. djproject 目錄的內(nèi)容
1
2
3
4
__init__.py
manage.py
settings.py
urls.py

對(duì)于這個(gè)項(xiàng)目來(lái)說(shuō),我們要構(gòu)建一個(gè)職位公告板應(yīng)用程序 “jobs”。要?jiǎng)?chuàng)建應(yīng)用程序,可以使用 manage.py 腳本,這是一個(gè)特定于項(xiàng)目的 django-admin.py 腳本,其中 settings.py 文件可以自動(dòng)提供:

清單 5. 使用 manage.py startapp
1
2
~/dev$ cd djproject
~/dev/djproject$ python manage.py startapp jobs

這將創(chuàng)建一個(gè)應(yīng)用程序骨架,其中模型有一個(gè) Python 模塊,視圖有另外一個(gè) Python 模塊。jobs 目錄中包含以下文件:

清單 6. jobs 應(yīng)用程序目錄中的內(nèi)容
1
2
3
__init__.py
models.py
views.py

提供應(yīng)用程序在項(xiàng)目中的位置純粹是為新 Django 開(kāi)發(fā)人員建立的一種慣例,并不是必需的。一旦開(kāi)始在幾個(gè)項(xiàng)目中混合使用應(yīng)用程序,就可以將應(yīng)用程序放到自己的命名空間中,并使用設(shè)置和主 URL 文件將它們綁定在一起。現(xiàn)在,請(qǐng)按照下面給出的步驟執(zhí)行操作。

為了使 Django 認(rèn)識(shí)到新應(yīng)用程序的存在,還需要向 settings.py 文件中的 INSTALLED_APPS 添加一個(gè)條目。對(duì)于這個(gè)職位公告板應(yīng)用程序來(lái)說(shuō),我們必須添加字符串 djproject.jobs

清單 7. 向 settings.py 中添加一個(gè)條目
1
2
3
4
5
6
7
INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'djproject.jobs',
)

創(chuàng)建一個(gè)模型

Django 提供了自己的對(duì)象關(guān)系型數(shù)據(jù)映射組件(object-relational mapper,ORM)庫(kù),它可以通過(guò) Python 對(duì)象接口支持動(dòng)態(tài)數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)。這個(gè) Python 接口非常有用,功能十分強(qiáng)大,但如果需要,也可以靈活地不使用這個(gè)接口,而是直接使用 SQL。

ORM 目前提供了對(duì) PostgreSQL、MySQL、SQLite 和 Microsoft® SQL 數(shù)據(jù)庫(kù)的支持。

這個(gè)例子使用 SQLite 作為后臺(tái)數(shù)據(jù)庫(kù)。SQLite 是一個(gè)輕量級(jí)數(shù)據(jù)庫(kù),它不需要進(jìn)行任何配置,自身能夠以一個(gè)簡(jiǎn)單文件的形式存在于磁盤(pán)上。要使用 SQLite,可以簡(jiǎn)單地使用 setuptools 來(lái)安裝 pysqlite(有關(guān) setuptools 的更多資料,尤其是有關(guān) easy_install 工具(需要單獨(dú)安裝)的資料,請(qǐng)參閱 參考資料):

easy_install pysqlite

在使用這個(gè)模型之前,需要在設(shè)置文件中對(duì)數(shù)據(jù)庫(kù)進(jìn)行配置。SQLite 只需要指定數(shù)據(jù)庫(kù)引擎和數(shù)據(jù)庫(kù)名即可。

清單 8. 在 settings.py 中配置數(shù)據(jù)庫(kù)
1
2
3
4
5
6
DATABASE_ENGINE = 'sqlite3'
DATABASE_NAME = '/path/to/dev/djproject/database.db'
DATABASE_USER = ''
DATABASE_PASSWORD = ''
DATABASE_HOST = ''
DATABASE_PORT = ''

這個(gè)職位公告板應(yīng)用程序有兩種類(lèi)型的對(duì)象:Location 和 Job。Location 包含 city、state(可選)和 country 字段。Job 包含 location、title、description 和 publish date 字段。

清單 9. jobs/models.py 模塊
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from django.db import models
 
class Location(models.Model):
    city = models.CharField(maxlength=50)
    state = models.CharField(maxlength=50, null=True, blank=True)
    country = models.CharField(maxlength=50)
 
    def __str__(self):
        if self.state:
            return "%s, %s, %s" % (self.city, self.state, self.country)
        else:
            return "%s, %s" % (self.city, self.country)
 
class Job(models.Model):
    pub_date = models.DateField()
    job_title = models.CharField(maxlength=50)
    job_description = models.TextField()
    location = models.ForeignKey(Location)
 
    def __str__(self):
        return "%s (%s)" % (self.job_title, self.location)

__str__ 方法是 Python 中的一個(gè)特殊類(lèi),它返回對(duì)象的字符串表示。Django 在 Admin 工具中顯示對(duì)象時(shí)廣泛地使用了這個(gè)方法。

要設(shè)置這個(gè)模型的模式,請(qǐng)返回 manage.py 的 sql 命令。此時(shí)模式尚未確定。

清單 10. 使用 manage.py sql 命令查看數(shù)據(jù)庫(kù)模式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
~/dev/djproject$ python manage.py sql jobs
 
BEGIN;
CREATE TABLE "jobs_job" (
    "id" integer NOT NULL PRIMARY KEY,
    "pub_date" date NOT NULL,
    "job_title" varchar(50) NOT NULL,
    "job_description" text NOT NULL,
    "location_id" integer NOT NULL
);
CREATE TABLE "jobs_location" (
    "id" integer NOT NULL PRIMARY KEY,
    "city" varchar(50) NOT NULL,
    "state" varchar(50) NULL,
    "country" varchar(50) NOT NULL
);
COMMIT;

為了初始化并安裝這個(gè)模型,請(qǐng)運(yùn)行數(shù)據(jù)庫(kù)命令 syncdb

~/dev/djproject$ python manage.py syncdb

注意,syncdb 命令要求我們創(chuàng)建一個(gè)超級(jí)用戶(hù)帳號(hào)。這是因?yàn)?django.contrib.auth 應(yīng)用程序(提供基本的用戶(hù)身份驗(yàn)證功能)默認(rèn)情況下是在 INSTALLED_APPS 設(shè)置中提供的。超級(jí)用戶(hù)名和密碼用來(lái)登錄將在下一節(jié)介紹的管理工具。記住,這是 Django 的超級(jí)用戶(hù),而不是系統(tǒng)的超級(jí)用戶(hù)。

97**国产露脸精品国产,国内精品免费一区二区三区,国产精品久久久久久久久妇女,国内一区二区三区精品视频
www亚洲色图| 少妇aaaaa| 亚洲国产精品无码久久久久高潮 | 性活交片大全免费看| 国产成人无码aa精品一区| 色婷婷在线视频观看| 五月综合色婷婷| 成人在线观看免费完整| 婷婷色中文字幕| 亚洲欧美高清在线| 亚洲av成人片色在线观看高潮| 强迫凌虐淫辱の牝奴在线观看| 亚洲天堂资源在线| 丰满少妇在线观看资源站| 欧美人妻一区二区三区| 2017亚洲天堂| 免费在线观看一级片| 久久久久久久久久久影视| 制服下的诱惑暮生| 中国黄色片视频| 久久精品老司机| 国产一区二区三区视频播放| 日本a级片视频| 日韩Av无码精品| 在线观看日本中文字幕| 国产一级淫片久久久片a级| 免费看特级毛片| xfplay5566色资源网站| 久久无码人妻精品一区二区三区| 中国女人特级毛片| wwwxxxx在线观看| 国产ts丝袜人妖系列视频| 青娱乐国产视频| 国精产品一区一区二区三区mba| 在线观看一区二区三区视频| 9.1成人看片| 欧美性生给视频| 精品国产免费久久久久久婷婷| www.久久国产| 国产人妻精品一区二区三区不卡| 怡红院一区二区| 精品人妻一区二区三区蜜桃视频| 天天做夜夜爱爱爱| 国产伦精品一区二区三区妓女| av黄色免费在线观看| 亚洲精品激情视频| 三级黄色录像视频| 国产亚洲色婷婷久久99精品91| 天堂网中文在线观看| 在线天堂www在线国语对白| 日韩av毛片在线观看| 免费日本黄色网址| 波多野结衣家庭教师| 久久亚洲AV成人无码国产野外| 一区二区成人免费视频| 37p粉嫩大胆色噜噜噜| 91精品人妻一区二区三区蜜桃2 | 成年人在线免费看片| 国产清纯白嫩初高中在线观看性色| 久久久久久久久福利| 性色av蜜臀av浪潮av老女人| www欧美com| 女人十八毛片嫩草av| 久久人人爽人人爽人人片| 国产va在线播放| 成年人看的免费视频| 加勒比综合在线| 少妇一级淫片免费放播放| 无码人妻一区二区三区在线视频| 在线观看免费小视频| 国产交换配乱淫视频免费| 88av在线播放| 国产吃瓜黑料一区二区| 五月天丁香激情| 色欲人妻综合网| 国产极品视频在线观看| 亚洲v国产v欧美v久久久久久| 亚洲视频在线播放免费| 国产精九九网站漫画| 中文写幕一区二区三区免费观成熟| 2019男人天堂| 久久久久久成人网| 影音先锋制服丝袜| 日本人亚洲人jjzzjjz| 国产又黄又粗视频| av电影网站在线观看 | 黄色a一级视频| 日本黄色录像片| 欧美精品黑人猛交高潮| 成人精品在线观看视频| 人妻丰满熟妇av无码久久洗澡| 色哟哟无码精品一区二区三区| 91精品人妻一区二区三区蜜桃2| 成年人性生活视频| 欧美做受高潮中文字幕| 在线观看成人动漫| 在线观看国产三级| 玖玖爱在线观看| 五月天精品在线| 国产三级在线观看完整版| 激情高潮到大叫狂喷水| 四虎永久免费在线| 中文字幕人妻一区| 久久久久国产精品区片区无码| 亚洲最大的黄色网| 亚洲第一视频区| 黄色a级片在线观看| 免费看三级黄色片| 欧美大片免费播放器| 成人无码av片在线观看| 天天色影综合网| 国模大尺度视频| 久久丫精品国产亚洲av不卡| 丰满少妇一区二区| 亚洲二区在线播放| 精品人妻一区二区三区日产| 成年人网站免费看| 日韩精品一区二区三区在线视频| 极品久久久久久| 国产亚洲色婷婷久久99精品91| 中文字幕第24页| 香蕉在线观看视频| 性猛交娇小69hd| 欧美黑人性猛交xxx| 亚洲av无码一区二区三区观看| 自拍偷拍你懂的| 五月天激情小说| 色哟哟一一国产精品| 国产原创剧情av| 一级特黄曰皮片视频| 在线xxxxx| 天天色天天综合| avtt香蕉久久| 特级片在线观看| 91国模少妇一区二区三区| 麻豆精品一区二区三区视频| 国产偷人妻精品一区| 久久r这里只有精品| 免费视频91蜜桃| wwwxx日本| 欧美一级片在线视频| 国产精品无码久久久久一区二区| 四虎永久免费在线| 五月天精品在线| jlzzjizz在线播放观看| 中国一级片在线观看| 久久久久久久毛片| 国产精品边吃奶边做爽| 丰满人妻一区二区三区大胸 | 亚洲最大视频网| 欧美激情精品久久久久久免费| 精品无码人妻一区| 中文字幕人妻一区| 国产精品无码99re| 日本爱爱爱视频| 丝袜美腿中文字幕| 国产伦精品一区三区精东| www.av视频| 免费成人美女女在线观看| 熟女俱乐部一区二区视频在线| 成人区人妻精品一区二| 精产国品一区二区三区| 日本一级二级视频| 亚洲天堂网av在线| 来吧亚洲综合网| 日韩亚洲欧美中文字幕| 黄色片网站免费| 2019男人天堂| 天天舔天天操天天干| 亚洲午夜精品久久久久久高潮| 亚洲av综合一区二区| 日韩乱码人妻无码中文字幕久久| 日本三级日本三级日本三级极| 扒开伸进免费视频| 白嫩情侣偷拍呻吟刺激| 国产伦精品一区三区精东| 国内精品免费视频| v天堂中文在线| 成人精品在线观看视频| 亚洲成人网在线播放| 在线观看国产精品一区| 性猛交娇小69hd| 国产精品69久久久久孕妇欧美| 影音先锋男人看片资源| 日本黄色小视频在线观看| 貂蝉被到爽流白浆在线观看| 永久免费看片视频教学| 久久久精品视频免费观看| 中文字幕永久免费| 国产一级二级在线观看| 亚洲区自拍偷拍| 午夜三级在线观看| 日本wwww色| 国产精品无码专区| 东方伊人免费在线观看| www色aa色aawww| 91丨porny丨对白| 一级黄色录像毛片| 在线观看免费看片| 国产福利在线观看视频|