<strike id="dvvrl"></strike>
    <address id="dvvrl"></address>

          <form id="dvvrl"><form id="dvvrl"><nobr id="dvvrl"></nobr></form></form>

          <form id="dvvrl"><nobr id="dvvrl"><nobr id="dvvrl"></nobr></nobr></form>

                    <em id="dvvrl"><form id="dvvrl"></form></em>

                    集團旗下網站: 邁領人才網 | 奇酷方舟 | 紅磚升本
                    全國咨詢熱線:400-807-8991
                    您現在所在的位置:首頁 >學習資源 > Python全棧+人工智能入門教材 > Python基礎入門教程68:Django 項目和應用程序

                    Python基礎入門教程68:Django 項目和應用程序

                    來源:奇酷教育 發表于:

                    要啟動 Django 項,請使用 django-adminstartproject命令,如下所示:清單 3 啟動項目1~ dev$ django-admin py startproject djpr

                    要啟動 Django 項,請使用 django-admin startproject 命令,如下所示:
                    清單 3. 啟動項目
                    1
                    ~/dev$ django-admin.py startproject djproject

                    上面這個命令會創建一個 djproject 目錄,其中包含了運行 Django 項目所需要的基本配置文件:

                    清單 4. djproject 目錄的內容
                    1
                    2
                    3
                    4
                    __init__.py
                    manage.py
                    settings.py
                    urls.py

                    對于這個項目來說,我們要構建一個職位公告板應用程序 “jobs”。要創建應用程序,可以使用 manage.py 腳本,這是一個特定于項目的 django-admin.py 腳本,其中 settings.py 文件可以自動提供:

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

                    這將創建一個應用程序骨架,其中模型有一個 Python 模塊,視圖有另外一個 Python 模塊。jobs 目錄中包含以下文件:

                    清單 6. jobs 應用程序目錄中的內容
                    1
                    2
                    3
                    __init__.py
                    models.py
                    views.py

                    提供應用程序在項目中的位置純粹是為新 Django 開發人員建立的一種慣例,并不是必需的。一旦開始在幾個項目中混合使用應用程序,就可以將應用程序放到自己的命名空間中,并使用設置和主 URL 文件將它們綁定在一起?,F在,請按照下面給出的步驟執行操作。

                    為了使 Django 認識到新應用程序的存在,還需要向 settings.py 文件中的 INSTALLED_APPS 添加一個條目。對于這個職位公告板應用程序來說,我們必須添加字符串 djproject.jobs

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

                    創建一個模型

                    Django 提供了自己的對象關系型數據映射組件(object-relational mapper,ORM)庫,它可以通過 Python 對象接口支持動態數據庫訪問。這個 Python 接口非常有用,功能十分強大,但如果需要,也可以靈活地不使用這個接口,而是直接使用 SQL。

                    ORM 目前提供了對 PostgreSQL、MySQL、SQLite 和 Microsoft® SQL 數據庫的支持。

                    這個例子使用 SQLite 作為后臺數據庫。SQLite 是一個輕量級數據庫,它不需要進行任何配置,自身能夠以一個簡單文件的形式存在于磁盤上。要使用 SQLite,可以簡單地使用 setuptools 來安裝 pysqlite(有關 setuptools 的更多資料,尤其是有關 easy_install 工具(需要單獨安裝)的資料,請參閱 參考資料):

                    easy_install pysqlite

                    在使用這個模型之前,需要在設置文件中對數據庫進行配置。SQLite 只需要指定數據庫引擎和數據庫名即可。

                    清單 8. 在 settings.py 中配置數據庫
                    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 = ''

                    這個職位公告板應用程序有兩種類型的對象: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 中的一個特殊類,它返回對象的字符串表示。Django 在 Admin 工具中顯示對象時廣泛地使用了這個方法。

                    要設置這個模型的模式,請返回 manage.py 的 sql 命令。此時模式尚未確定。

                    清單 10. 使用 manage.py sql 命令查看數據庫模式
                    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;

                    為了初始化并安裝這個模型,請運行數據庫命令 syncdb

                    ~/dev/djproject$ python manage.py syncdb

                    注意,syncdb 命令要求我們創建一個超級用戶帳號。這是因為 django.contrib.auth 應用程序(提供基本的用戶身份驗證功能)默認情況下是在 INSTALLED_APPS 設置中提供的。超級用戶名和密碼用來登錄將在下一節介紹的管理工具。記住,這是 Django 的超級用戶,而不是系統的超級用戶。

                    男人狂躁女人一进一出
                    <strike id="dvvrl"></strike>
                      <address id="dvvrl"></address>

                            <form id="dvvrl"><form id="dvvrl"><nobr id="dvvrl"></nobr></form></form>

                            <form id="dvvrl"><nobr id="dvvrl"><nobr id="dvvrl"></nobr></nobr></form>

                                      <em id="dvvrl"><form id="dvvrl"></form></em>