第一支程式就是hello world
我們就寫一個商品展示系統之類的
來正名一下,專案名字叫 shop
專案目錄結構
shop/
----venv/
----shop/
-------manage.py
-------shop/
-----------__init__.py
-----------settings.py
-----------wsgi.py
-----------urls.py
我習慣會先建立一個 main app,用來處理首頁的請求,後續會依功能或頁面新增app
python manage.py startapp main
專案目錄會多了 main資料夾
shop/
----venv/
----shop/
-------manage.py
-------shop/
-----------__init__.py
-----------settings.py
...
-------main/
settings.py 是 django 設定檔
urls.py 是 處理request要去哪個 Controller(在django 是叫views.py)
在這裡提一下正常 MVC架構命名是 Model, View, Controller
但在djagno 是 MTV = model, template, views
settings.py INSTALLED_APPS 加上 'main'
INSTALLED_APPS = [
'django.contrib.admin',
...
'main'
]
shop/urls.py 加上 path('.*', include('main.urls', namespace='main')),
from django.contrib import admin
from django.urls import path, include, re_path
urlpatterns = [
path('admin/', admin.site.urls),
re_path(r'^.*', include('main.urls')),
]
main/ 新增 urls.py
from django.urls import re_path
from main import views
urlpatterns = [
re_path(r'^$', views.main),
]
main/views.py
from django.http import HttpResponse
from django.shortcuts import render
# Create your views here.
def main(request):
return HttpResponse('Hello world')
開啟 http://127.0.0.1:8000 就會看到 Hello world
下一章再詳細解釋 urls.py 的 正則表示式還有流程
筆記一下
djagno 舊版
urls.py 是使用 url(path, name)
django 2.0 改版
https://docs.djangoproject.com/en/2.0/topics/http/urls/#using-regular-expressions
https://docs.djangoproject.com/en/2.0/ref/urls/
變成使用 path,並且如果要使用 正規表示式要使用 re_path