Table des matières
This is home page, welcome !
Maison développement back-end Tutoriel Python django中“url映射规则”和“服务端响应顺序”

django中“url映射规则”和“服务端响应顺序”

Oct 17, 2016 pm 01:55 PM

1、django搜索路径

  使用 import 语句时,Python 所查找的系统目录清单。

      查看方式:

          import sys

          print sys.path

      通常无需关心 Python 搜索路径的设置,Python 和 Django 会在后台自动帮你处理好。

2、url匹配模式

   基本结构:

        '^需要匹配的url字符串$'

     PS:实际上最终完整的url串是http://根路径:端口号/需要匹配的url字符串

     系统自动添加的部分'http://根路径:端口号/'

    eg:url匹配模式:'^latest_books/$'

           最终完整的url字符串:'http://127.0.0.1:8000/latest_books/'

    1)^:匹配“子串头”。

    eg:

 '^latest_books/'

 'http://127.0.0.1:8000/latest_books/',

 'http://127.0.0.1:8000/latest_books/test1/',

 'http://127.0.0.1:8000/latest_books/test2/',

 'http://127.0.0.1:8000/latest_books/test1/aaa/'

       都会被匹配上。     

    2)$:匹配“子串结尾”。

        eg:

  'latest_books/$'

   'http://127.0.0.1:8000/latest_books/',

   'http://127.0.0.1:8000/updir_1/latest_books/',

   'http://127.0.0.1:8000/updir_2/latest_books/'

        都会被匹配上。

    3)子串末尾是否包含'/'

        默认情况下必须添加(django开发者的基本习惯),如果不添加将会出现如下情况:

from django.conf.urls import patterns, url, include

urlpatterns = patterns('',

(r'^latest_books$', 'django_web_app.views.latest_books'),

)

1.png

        如果子串末尾不想包含'/',可在setting.py中添加设置:APPEND_SLASH=False

        但是必须安装了CommonMiddleware才会起作用。

  4)手动配置网站“根目录”

    在不手动配置网站“根目录”对应“视图函数”的情况下,会出现如下情况:

1.png

手动配置“根目录”对应“视图函数”:

    a)urls.py

from django.conf.urls import patterns, url, include

urlpatterns = patterns('',

                       (r'^$','django_web_app.views.home_page'),

                       (r'^latest_books/$', 'django_web_app.views.latest_books'),

)

    b)views.py

def home_page(request):

    return render_to_response('home_page.html')

    c)home_page.html

   

my home page

   

This is home page, welcome !

    运行结果:

1.png

  附:正则表达式基础

  

3、服务端响应url请求的执行顺序

   1)项目结构

  

  django_web

        __init__.py

        settings.py

        urls.py

        wsgi.py

  django_web_app

        __init__.py

        admin.py

        models.py

        tests.py

        views.py

  templates

        home_page.html

        latest_books.html

  manage.py

  2)执行顺序

     a)启动服务端——python manage.py runserver

     获取setting.py文件中的配置,主要包括:

     url映射关系文件路径:

ROOT_URLCONF = 'django_web.urls'

       页面文件模板路径:

TEMPLATE_DIRS = (

    os.path.join(BASE_DIR, 'templates'),

)

      数据库配置:

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql',

        'NAME': 'django_db',

        'USER': 'root',

        'PASSWORD': 'feng',

        'HOST': '127.0.0.1',

        'PORT': '3306',

    }

}

b)响应顺序

 第一步:浏览器提交请求

     http://127.0.0.1:8000/latest_books/

 第二步:服务端根据请求的url在urls.py中进行匹配,并找到对应的“视图函数”

 第三步:调用对应的“视图函数” 返回一个HttpResponse对象

 第四步:django转换HttpResponse对象为一个适合的HTTP response,并返回给页面进行显示


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Apr 01, 2025 pm 05:09 PM

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Apr 01, 2025 pm 11:15 PM

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures? Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures? Apr 02, 2025 am 07:18 AM

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu? Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu? Apr 02, 2025 am 07:15 AM

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Que sont les expressions régulières? Que sont les expressions régulières? Mar 20, 2025 pm 06:25 PM

Les expressions régulières sont des outils puissants pour la correspondance des motifs et la manipulation du texte dans la programmation, améliorant l'efficacité du traitement de texte sur diverses applications.

Quelles sont les bibliothèques Python populaires et leurs utilisations? Quelles sont les bibliothèques Python populaires et leurs utilisations? Mar 21, 2025 pm 06:46 PM

L'article traite des bibliothèques Python populaires comme Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask et Demandes, détaillant leurs utilisations dans le calcul scientifique, l'analyse des données, la visualisation, l'apprentissage automatique, le développement Web et H et H

Comment Uvicorn écoute-t-il en permanence les demandes HTTP sans servir_forever ()? Comment Uvicorn écoute-t-il en permanence les demandes HTTP sans servir_forever ()? Apr 01, 2025 pm 10:51 PM

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

Comment créer dynamiquement un objet via une chaîne et appeler ses méthodes dans Python? Comment créer dynamiquement un objet via une chaîne et appeler ses méthodes dans Python? Apr 01, 2025 pm 11:18 PM

Dans Python, comment créer dynamiquement un objet via une chaîne et appeler ses méthodes? Il s'agit d'une exigence de programmation courante, surtout si elle doit être configurée ou exécutée ...

See all articles