Django框架是一個高度可自訂的Web開發框架,它採用了一種靈活的URL配置系統使得開發人員可以輕鬆地管理應用的URL結構。在上一篇文章中,我們討論了Django中的基本URL配置技巧,本篇文章將進一步介紹更高級的技巧,幫助讀者更好地了解和使用Django的URL配置系統。
Django允許在URL配置中使用正規表示式,這在處理複雜的URL結構時特別有用。例如,如果你要符合以下網址:
http://example.com/2008/12/25/my-post
url(r'^(?P<year>d{4})/(?P<month>d{2})/(?P<day>d{2})/(?P<slug>[-w]+)/$', 'blog.views.post_detail'),
^(?P將符合以年份、月份、日期和文章標題組成的URL。透過使用
(?P語法,我們可以定義出每一個符合的群組,並將其作為關鍵字參數傳遞給視圖函數。
url(r'^contact/$', 'contact.views.contact'),
from django.shortcuts import render from contact.forms import ContactForm def contact(request): if request.method == 'POST': form = ContactForm(request.POST) if form.is_valid(): # 处理表单数据 pass else: form = ContactForm() return render(request, 'contact.html', {'form': form})
request.POST參數來存取表單資料。如果表單資料驗證通過,則可以執行需要的操作。
from django.shortcuts import redirect def some_view(request): # 如果用户未登录,将其重定向到登录页面 if not request.user.is_authenticated: return redirect('login')
settings.py檔案中指定靜態檔案目錄:
STATIC_URL = '/static/' STATICFILES_DIRS = [ BASE_DIR / "static", "/var/www/static/", ]
BASE_DIR / "static"和
/var/www/static/。所有設定的目錄中的靜態檔案都可以透過
STATIC_URL來存取。
url(r'^articles/$', 'myapp.views.article_list'),
article_list:
url(r'^articles/$', 'myapp.views.article_list', name='article_list'),
from django.urls import reverse def some_view(request): url = reverse('article_list') # 执行其他操作
reverse函數來產生命名URL對應的URL。這個函數將會傳回產生的URL字串。
以上是Django框架中的URL配置技巧(第二部分)的詳細內容。更多資訊請關注PHP中文網其他相關文章!