Python--Django【創建簡單應用-URL配置】

項目及應用如下:

創建簡單應用流程:

  • 第一步:編輯myblog.vidws.py

每個響應對應一個函數,函數必須返回一個響應;

函數必須存在一個參數,一般約定爲request;

每一個響應(函數)對應一個URL。

  • 第二步:編輯mysite.urls.py

每個URL都以url的形式寫出來;

url函數存放在urlpatterns列表中;

url函數三個參數:URL(正則),對應方法,名稱。

代碼:

myblog.vidws.py

from django.http import HttpResponse

# Create your views here.
def index(request):
    return HttpResponse("Hello, world. You're at the myblog index.")

mysite.urls.py

from django.contrib import admin
from django.conf.urls import url

import myblog.views as mv

urlpatterns = [
    url('^admin/', admin.site.urls),
    url('^index/', mv.index),
]

瀏覽器響應:

優化以上的URL配置:

對於多個應用時,根目錄下的mysite/urls.py文件過於龐大,不好維護。

解決方法:

第一步:創建應用目錄下myblog/urls.py文件

第二步:修改根目錄下mysite/urls.py文件【引入include】

第三步:瀏覽器訪問 

注意事項:

根目錄mysite/urls.py針對APP配置的URL名稱,是該APP所有URL的總路徑

配置URL時注意正則表達式結尾符號$和/

代碼:

myblog/urls.py

from django.conf.urls import url

from . import views

urlpatterns = [
    url('index', views.index), #url('^index/$', views.index),#/不能丟
]

mysite/urls.py

"""mysite URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.0/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.conf.urls import url,include


urlpatterns = [
    url('^admin/', admin.site.urls),
    url('^myblog/', include('myblog.urls')),
]

瀏覽器訪問: http://localhost:9999/myblog/index/

修改訪問路徑,不需要太長的,可以修改根目錄的,也可以修改應用目錄下的,此處修改應用目錄下的myblog/urls.py中的路徑,設置爲空

from django.conf.urls import url

from . import views

urlpatterns = [
    url('', views.index),
]

訪問路徑:http://localhost:9999/myblog/

發現 http://localhost:9999/myblog/ 這個路徑後面加任意字符串都可以訪問成功

 

使用正則表達式約束空字符串,如下

from django.conf.urls import url

from . import views

urlpatterns = [
    url('^$', views.index),
]

 這樣就不會出現訪問任意路徑都可以顯示成功了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章