首頁  >  文章  >  後端開發  >  Django框架入門使用1.0

Django框架入門使用1.0

做棵大树
做棵大树原創
2020-05-26 18:45:141903瀏覽

開發工具: PyCharm社群版或專業版CMD 命令列

社群版和專業版區別在於,專業版可以直接進行Django專案的創建,而社群版則需要手動進行建立。鑑於我們都是剛入門,我們還是手動創建更好,更利於我們熟悉Django的命令和相關操作。

新Django 的最小程式

新一個Web框架工程

我們再命令列介面進到要建立專案的目錄下,然後輸入以下指令:

django-admin startproject mysite

#這裡的django-admin 是一個用於管理django 的工具,在我們安裝django 的過程中會預設進行依賴安裝。 mysite 是工程名稱,可以依照自己的需求進行修改。建立後,我們會得到以下的目錄結構:

Django框架入門使用1.0
#最小的專案目錄結構

##修改工程,增加功能

我們在這裡需要增加具體

應用程式,以及透過設定路由映射 來進行相關功能的增加。

工程(project)和應用(app)什麼關係呢?

  • 工程對應於一個網站,是配置和應用的集合
  • #應用程式對應於
    特定功能,是具體功能的載體
  • 配置和功能分離是高度模組化的體現
    ##【修改工程】建立一個具體應用(app)
  1. 指令:
python manage.py startapp helloapp

指令執行完成後,會在根目錄下新一個

helloapp

的目錄

#helloapp目錄Django框架入門使用1.0
    ##【修改工程】修改應用的
  1. views.py

    # Create your views here.
    from django.http import HttpResponse

    def hello(request):
    return HttpResponse("Hello World! I am coming...")

  2. #【修改工程】修改URL路由
  3. 在和項目命對應的目錄下的

    urls.py

    檔案中指定URL與處理函數之間的路徑關係。

    from django.contrib import admin
    from django.urls import include, path
    from helloapp import views # from the subapp import related views

    urlpatterns = [ # config the routes like vue's vue-router
    path('admin/', admin.site.urls),
    path('index/', views.hello),
    ]
    我們首先需要引入對應app下的views 文件,然後配置路由對應關係

  4. 【修改工程】修改URL路由
  5. path('index/', views.hello)

    這裡的第一個參數表示url位址,我們這裡的就會回應網域/index/

    這個路徑的存取; 第二個參數則表示指定某個處理函數,例如這裡我們制定了

    views.hello

    存取頁面
    Django框架入門使用1.0

#執行工程#python manage.py runserver

在執行後我們存取對應的路由,就會得到對應的回傳資訊;如果存取未設定的則會傳回404 notfound。

不得不說的django-adminmanage.py

django-admin#django-admin [options]

#django-admin是一個Django框架全域的管理工具:

建立並管理Django工程
  • 建立並管理Django工程使用的資料庫
  • 控制偵錯或日誌資訊
  • 運行並維護Django工程
  • 我們也可以透過
  • django-admin help
指令來查看更多的功能

#manage.py##python manage.py [options]

功能和django-admin 類似,但是作用範圍僅作用於目前專案。

我們也可以透過 python manage.py help 指令來查看更多功能。

最小程式的改進

#需求:傳回一個HTML頁面,而不是一個字串想法:建立模板(T),對應特定請求,返回模板頁面

新hello2app,透過index2來存取



新hello2app應用程式

`python manage.py startapp hello2app`

使用templateTest.html为返回页面,修改views.py

```python
# hello2app/views.py
from django.shortcuts import render
def hello(request):
    return render(request, "PYC01-HTMLJSDemo.html")
```

这里,`render()` 是一个打包函数,第一个参数是 request, 第二个参数是要返回的模板页面。
  • 在hello2app应用中,新增urls.py文件(本地路由文件)

    # hello2app/urls.py

    from django.urls import path
    from . import views # . 代表当前 app
    urlpatterns = [ # urlpatterns 变量名成是固定的
    path('', views.hello)
    ]
  • 在全局路由文件中增加对本应用路由文件的引用

    # mysite/urls.py

    from django.contrib import admin
    from django.urls import include, path
    # include()函数,用于引入其他路由文件
    from helloapp import views
    urlpatterns = [
    path('index2/', include('hello2app.urls')),
    # 将hello2app的局部路由增加到全局路由中
    path('index/', views.hello),
    path('admin/', admin.site.urls),
    ]
  • 设置模板路径,让Django框架找到模板所在目录

    我们由于返回了模板文件,所以我们需要对 mysite/settings.py 进行修改配置一下路径,至此,也就完成了一个最小的Django项目了!

    TEMPLATES = [
    {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [os.path.join(BASE_DIR, 'hello2app/templates')], # 指定templates所在路径
    'APP_DIRS': True,
    'OPTIONS': {
    'context_processors': [
    'django.template.context_processors.debug',
    'django.template.context_processors.request',
    'django.contrib.auth.context_processors.auth',
    'django.contrib.messages.context_processors.messages',
    ],
    },
    },
    ]

以上是Django框架入門使用1.0的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn