【Django教學】 如何在網頁上運行 python 腳本

python_django
為了解決如何在網頁上運行 python 腳本這問題,當時花費不少時間研究和踩過了不少坑,因此將步驟詳細記錄下來,希望能幫助到想利用網頁寫一個簡單的 python 程式的人。
如果有第一次接觸 Django 的朋友可以參考之前寫的這篇:[Django教學] 5分鐘快速入門,打造一個簡單Python網頁

 

一. 安裝 Django

Mac 版安裝 Django:
Window 版安裝 Django:
安裝好後創建第一個 Project:
創建第一個 APP:
first > settings.py 裡面 INSTALLED_APPS 加入 home
首先看一下最終的目錄會是如下:
 
|– first
|   |– __init__.py
|   |– settings.py
|   |– urls.py
|   -- wsgi.py
| -- home
|   |-- __init__.py
|   |-- views.py
|   |-- urls.py
|   |-- test.py
|   |-- apps.py
|   |-- models.py
|   — admin.py
| — templates
|   --simple_crawl.html
— manage.py

二. 將 Python 腳本放到 home > Views.py內

 
 
這邊寫了一個簡單的爬蟲,僅抓取網頁的標題並存在 title 內,最後 return render(request, ‘home/simple_crawl.html’,locals()) 這邊是告訴 Django render 這個 simple_crawl.html 頁面

三. 建立 simple_crawl.html 頁面

路徑:home > templates > simple_crawl.html
1.在 home 資料夾內新建 templates 資料夾
2.在 templates 資料夾內新建 simple_crawl.html
 
我們會將爬取到的內容在 simple_crawl.html 這個頁面上顯示,可以看到我們這邊用{{ title }} ,這是 Django 特定寫法
然後在 first > setting.py 內TEMPLATES 裡面 ‘DIRS’ :[ ] 改成 ‘DIRS’ : [os.path.join(BASE_DIR, ‘templates’).replace(‘\\’, ‘/’)],
這邊是要告訴 Django,我們有設置 templates 資料夾,要 Django 從這路徑去找templates

四. urls設定

在 first > urls.py 將設定修改如下,這邊新增了path(‘home/’, include(‘home.urls’)),告訴 Django 當有人踩 ‘home/’ 這個網址時,要去 include(‘home.urls’) 這裡找檔案,所以接下來就是建置 ‘home.urls’
在 home 資料夾內新建 urls.py,所以當 Django 找到 ’home.urls’ 時,他會讀取到 path(”, views.simple_crawl),這邊的意思是叫 Django 去 view 裡面找simple_crawl,也就是我們最一開始將 Python 腳本寫進的 def simple_crawl(request) 內,接下就來會開始運行 Python 爬蟲腳本,並將資料顯示標題於網頁上囉!
最後運行指令:
基本上這就是一個簡單的在網頁上運行 Python 腳本的網頁,希望對大家有幫助!

Django 教學相關的延伸閱讀:

Python 教學相關的延伸閱讀:

那 [Django教學] 如何在 Django 網頁上運行 python 腳本 的介紹就到這邊告一個段落囉!有任何問題可以在以下留言~

有關 Max行銷誌的最新文章,都會發佈在 Max 的 Facebook 粉絲專頁,如果想看最新更新,還請您按讚或是追蹤唷!

在〈【Django教學】 如何在網頁上運行 python 腳本〉中有 2 則留言

  1. 版主您好 謝謝分享此文  
    我檢查了幾次 也重新照流程跑了幾次 
    但是runserver之後 一直給的回報是404 (Request Method: GET)

    Using the URLconf defined in first.urls, Django tried these URL patterns, in this order:
    admin/
    home/
    The empty path didn’t match any of these.

    若再check分頁 /home 則得到
    Exception Type: TemplateDoesNotExist
    Exception Value:
    home/simple_crawl.html

    不知版主是否能給予指導究竟該去哪裡檢查code

    感激 

    1. HI 你好,感謝參考本篇 Django 教學

      我看到你的錯誤訊息(Exception Value: home/simple_crawl.html),照理來說 simple_crawl.html 是要被放在 templates 資料夾內唷
      請確認一下你 Django 新增的檔案架構是否如下:

      |– first
      | |– __init__.py
      | |– settings.py
      | |– urls.py
      | `– wsgi.py
      | — home
      | |– __init__.py
      | |– views.py
      | |– urls.py
      | |– test.py
      | |– apps.py
      | |– models.py
      | `– admin.py
      | — templates
      | `–simple_crawl.html
      `– manage.py

      如果還是沒辦法解決,歡迎提供 GitHub 檔案連結,我幫你看一下

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。