¸üÐÂʱ¼ä:2021Äê03ÔÂ10ÈÕ16ʱ59·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

DjangoÖзÓɵÄ×÷Óãº
Æä±¾ÖÊÊÇURLÓë¸ÃURLÒªµ÷ÓõÄÊÓͼº¯ÊýÖ®¼äµÄÓ³É䣬¾ÍÊÇΪ¸æËßDjango¶Ô¿Í»§¶Ë·¢¹ýÀ´µÄij¸öURLÓ¦¸Ãµ÷ÓÃÖ´ÐÐÄÄÒ»¶ÎÂß¼´úÂë
·ÓÉ»ù±¾µÄÅäÖãº
from django.conf.urls import url
# urlpatterns±ØÐëÊÇÒ»¸öÓÉurl()ʵÀý×é³ÉµÄPythonÁбí
urlpatterns = [
# url(regex, view, kwargs=None, name=None),
url(/news/20210310/ÕýÔò±í´ïʽ, ÊÓͼº¯ÊýÃû, ¿ÉÑ¡²ÎÊý£¬ ·ÓɱðÃû),
]
"""
url()º¯ÊýÖеIJÎÊý½âÊÍ£º
ÕýÔò±í´ïʽ£ºÒ»¸öÕýÔò±í´ïʽ×Ö·û´®
viewsÊÓͼº¯Êý£ºÒ»¸ö¿Éµ÷ÓöÔÏó£¬Í¨³£ÎªÒ»¸öÊÓͼº¯Êý»òÒ»¸öÖ¸¶¨ÊÓͼº¯Êý·¾¶µÄ×Ö·û´®
²ÎÊý£º¿ÉÑ¡µÄÒª´«µÝ¸øÊÓͼº¯ÊýµÄĬÈϲÎÊý£¨×ÖµäÐÎʽ£©
±ðÃû£ºÒ»¸ö¿ÉÑ¡µÄname²ÎÊý£¬ÓÃÓÚ·´Ïò½âÎö
"""
ϸ˵urlº¯ÊýµÄµÚÒ»¸ö²ÎÊý£º
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^articles/2003/$', views.special_case_2003),
url(/news/20210310/r&)/$', views.year_archive),
url(/news/20210310/r&)/([0-9]{2})/$', views.month_archive),
url(/news/20210310/r&)/([0-9]{2})/([0-9]+)/$', views.article_detail),
]
==×¢Òâµã£º==
·ÓÉÕýÔò±í´ïʽ½áβÊÇ·ñÒª¼Ó '/' ˵Ã÷:
from django.conf.urls import url from app01 import views urlpatterns = [ url(r'^index/$', views.index), # ½áβ¼Ó'/' url(r'^test$', views.test), # ½áβ²»¼Ó '/' ]
ÀýÈ磺
²âÊÔ1£º·ÃÎÊhttp://127.0.0.1:8000/index»òhttp://127.0.0.1:8000/index/ ½á¹û¶¼Êdzɹ¦µÄ£¬ÒòΪµ±·ÃÎÊhttp://127.0.0.1:8000/indexʱ»á×Ô¶¯×ö301ÖØ¶¨Ïòµ½http://127.0.0.1:8000/index/

²âÊÔ2£º·ÃÎÊhttp://127.0.0.1:8000/testÊdzɹ¦µÄ£¬ http://127.0.0.1:8000/test/¾Í»áʧ°ÜÁË

ÄÇôµ½µ×ÊÇʲôÔÒò£¿Ôõô»áÕâÑùÄØ?
# Èç·ÓÉÖнáβÓÐ'/' µ«ÇëÇóÖеÄurl½áβûÓмÓ'/'Æ¥ÅäʱÊÇ·ñÔÚURLÖи½¼Óβ²¿Ð±¸Ü TrueÌí¼Ó£¬False²»Ìí¼Ó APPEND_SLASH=True # DjangoµÄglobal_settingsµÄĬÈÏÅäÖÃ
²âÊÔ1ÖУºhttp://127.0.0.1:8000/indexд·¨Ò²ÄÜ·ÃÎʳɹ¦µÄÔÒò¾ÍÊÇAPPEND_SLASHĬÈÏÉèÖÃÁËΪTrue£¬µ«ÊÇÈç¹û°Ñ´ËÅäÖøÄΪFalse£¬ÄÇô·ÃÎÊ r'^index/$' ·ÓÉʱ¾Í±ØÐëÔÚ½áβµÄ¼ÓÉÏ'/'¡£
×ܽ᣺
Óɴ˲âÊÔ¿ÉÒÔ˵Ã÷ÔÚ¶¨Òå·ÓÉʱ½áβ¼ÓÉÏ '/ ' »áÈ÷Óɸü¼ÓÁé»î¡£
ûÓÐÃüÃûµÄÕýÔò±í´ïʽ×飺
# ½«¼ÓÔ²À¨ºÅµÄÕýÔò±í´ïʽƥÅäµ½µÄÄÚÈݵ±×öλÖòÎÊý×Ô¶¯´«µÝ¸ø¶ÔÓ¦µÄÊÓͼº¯Êý
# ·Óɲã
url(r'^test/(\d+)/',views.test), # Æ¥ÅäÒ»¸ö»ò¶à¸öÊý×Ö
# ÊÓͼ²ã
def test(request, num): # num½ÓÊÕµ½´Ó·ÓÉÀ¨ºÅÔ²À¨ºÅÄÚ£¬ÏàÓ¦ÕýÔò±í´ïʽÖÐÆ¥ÅäµÄÖµ
print(num)
return HttpResponse('test')
ÓÐÃüÃûµÄÕýÔò±í´ïʽ×飺
ÔÚPythonµÄÕýÔò±í´ïʽÖУ¬·Ö×éÃüÃûÕýÔò±í´ïʽ×éµÄÓï·¨ÊÇ(?P<name>pattern)£¬ÆäÖÐnameÊÇ×éµÄÃû³Æ£¬patternÊÇҪƥÅäµÄģʽ
# ½«¼ÓÔ²À¨ºÅµÄÕýÔò±í´ïʽƥÅäµ½µÄÄÚÈݵ±×ö¹Ø¼ü×Ö²ÎÊý×Ô¶¯´«µÝ¸ø¶ÔÓ¦µÄÊÓͼº¯Êý
# ·Óɲã
url(r'^test/(?P<year>\d+)/',views.test), # Æ¥ÅäÒ»¸ö»ò¶à¸öÊý×Ö
# ÊÓͼ²ã
def test(request, year): # ´Ë´¦µÄÐβÎÃûÒ»¶¨ÒªºÍÕýÔò×éÃüÃûÒ»ÖÂ
print(year)
return HttpResponse('test')
ÏÂÃæÊÇ´úÂëÊÇ Ê¹ÓÃÓÐÃüÃûµÄÕýÔò±í´ïʽ×éÖØÐ´£º
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^articles/2003/$', views.special_case_2003),
url(/news/20210310/r&)/$', views.year_archive),
url(/news/20210310/r&)/(?P<month>[0-9]{2})/$', views.month_archive),
url(/news/20210310/r&)/(?P<month>[0-9]{2})/(?P<day>[0-9]{2})/$', views.article_detail),
]
Õâ¸öʵÏÖÓëÇ°ÃæµÄʾÀýÍêÈ«Ïàͬ£¬Ö»ÓÐÒ»¸öϸ΢µÄ²î±ð£º²¶»ñµÄÖµ×÷Ϊ¹Ø¼ü×Ö²ÎÊý¶ø²»ÊÇλÖòÎÊý´«µÝ¸øÊÓͼº¯Êý¡£
ÔÚʵ¼ÊÓ¦ÓÃÖУ¬Ê¹ÓÃÓÐÃüÃûµÄÕýÔò±í´ïʽ×é»á¸ü¼ÓÃ÷ÎúÇÒ²»ÈÝÒײúÉú²ÎÊý˳ÐòÎÊÌâµÄ´íÎó —— Äã¿ÉÒÔÔÚÄãµÄÊÓͼº¯Êý¶¨ÒåÖÐÖØÐ°²ÅŲÎÊýµÄ˳Ðò¡£ µ±È»£¬ÕâЩºÃ´¦ÊÇÒÔ¼ò½àΪ´ú¼ÛµÄ£»Ò»Ð©¿ª·¢ÈËÔ±·¢ÏÖÃüÃû×éÓï·¨³óª¶øÇÒÌ«Èß³¤¡£
×¢Ò⣺
ÎÞÃûÕýÔò±í´ïʽ×éºÍÓÐÃûÕýÔò±í´ïʽ×é²»ÄÜ»ì×ÅÓã¡£¡£¡# Ҫô¶¼²»ÃüÃû
url(/news/20210310/r&)/([0-9]{2})/$', views.month_archive),
# ÒªÃüÃû¶¼ÒªÃüÃû
url(/news/20210310/r&)/(?P<month>[0-9]{2})/$', views.month_archive),
# ²»ÄÜÕâÑù»ì×ÅÓ㬱¨´íÌáʾȱÉٱش«Î»ÖòÎÊý
url(/news/20210310/r&)/([0-9]{2})/$', views.month_archive),
ÕýÔò±í´ïʽ×é²¶»ñµÄ²ÎÊý¶¼ÊÇ×Ö·û´®ÀàÐÍ£º
ÿ¸ö²¶»ñµÄ²ÎÊý¶¼×÷Ϊһ¸öÆÕͨµÄPython ×Ö·û´®´«µÝ¸øÊÓͼ£¬ÎÞÂÛÕýÔò±í´ïʽʹÓõÄÊÇʲôƥÅ䷽ʽ¡£ ÀýÈ磬
url(/news/20210310/r&)/$', views.year_archive),
´«µÝ¸øviews.year_archive()µÄyear²ÎÊý½«ÊÇÒ»¸ö×Ö·û´®£¬²»ÊÇÕûÊý£¬¼´Ê¹[0-9]{4}ֻƥÅäÕûÊý×Ö·û´®
Ö¸¶¨ÊÓͼ²ÎÊýµÄĬÈÏÖµ£º
ÔÚÕâÀï¸ø´ó¼Ò˵һ¸ö·½±ãµÄС¼¼ÇÉÊÇÖ¸¶¨ÊÓͼ²ÎÊýµÄĬÈÏÖµ¡£ URLconf ºÍÊÓͼµÄʾÀý£º
# URLconf
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^blog/$', views.page),
url(/news/20210310/r&)/$', views.page),
]
# View (in blog/views.py)
def page(request, num="1"):
# ´Ë´¦Ê¡ÂÔÈô¸ÉÐдúÂë...
ÔÚÉÏÃæµÄÀý×ÓÖУº
Á½¸öURLÖ¸Ïòͬһ¸öÊÓͼviews.page
µ«ÊǵÚÒ»¸ö²»»á´ÓURL Öв¶»ñÈκÎÖµ¡£ Èç¹ûµÚÒ»¸öÆ¥Åä³É¹¦£¬page() º¯ÊýÖÐnum½«Ê¹ÓÃĬÈϵIJÎÊýÖµ"1"¡£
Èç¹ûµÚ¶þ¸öģʽƥÅ䣬`page()` ½«Ê¹ÓÃÕýÔò±í´ïʽ²¶»ñµÄ`num` Öµ¡£
ͨ¹ýÉÏÃæÀý×Ó£¬Äã·¢ÏÖÁËÊ²Ã´ÄØ£¿
˵Ã÷ÎÒÃÇÊÓͼº¯ÊýÖÐµÄÆÕͨ²ÎÊý±äΪĬÈϲÎÊýºó£¬¿ÉÒÔÈÃÎÒÃǵÄÊÓͼº¯Êý±äµÄ¸üÁé»î£¬ÕâÑùÎÒÃÇ¿ÉÒÔÈÃÒ»¸öÊÓͼº¯Êý±»¶àÖÖ·ÓÉÈ¥Áé»îʹÓá£
²ÂÄãϲ»¶
ʲôÊÇPython?×îÈ«µÄpython°Ù¿Æ
ѧ»ápython¿ÉÒÔ×öʲô£¿ÕâЩºÃ´¦ÄãÏëÏó²»µ½
Djangoº£Á¿Êý¾Ý¼¯·ÖÒ³ÓÅ»¯·½·¨
ʹÓÃDjangoÖмä¼þµÄÁùÖÖ·½·¨
Python+Êý¾Ý·ÖÎö¿Î³Ì
Python³£¼ûÒì³£ÀàÐÍÏêϸ½éÉÜ
2021-03-03TCPºÍUDPµÄÓÅȱµã|TCPºÍUDPµÄÓÅȱµã¶Ô±È
2021-02-26HTTPͨÐÅ»úÖÆÖеÄÒ»´ÎÍêÕûͨÐŹý³ÌµÄ7¸ö²½Öè
2021-02-26ʲôÊǹ¶ù½ø³ÌºÍ½©Ê¬½ø³Ì£¿ÈçºÎ±ÜÃ⽩ʬ½ø³Ì£¿
2021-02-26Pythonʵս¿ª·¢ÏîÄ¿ÊÓÆµ½Ì³Ì£ºÃÀ¶àÉ̳ǿª·¢ÊµÕ½¡¾ÀÖÓãµç¾º¡¿
2021-02-22NumPyÊý×éÓм¸ÖÖ´´½¨·½·¨£¿
2021-02-03
±±¾©Ð£Çø