Heim > Artikel > Backend-Entwicklung > „URL-Zuordnungsregeln' und „Server-Antwortreihenfolge' in Django
1. Django-Suchpfad
Bei Verwendung der Importanweisung die Liste der Systemverzeichnisse, nach denen Python sucht.
Methode anzeigen:
System importieren
Systempfad drucken
Normalerweise muss man sich nicht um die Einstellung des Python-Suchpfads, Python und kümmern Django hilft Ihnen automatisch im Hintergrund.
2. URL-Abgleichsmodus
Grundstruktur:
'^Die URL-Zeichenfolge, die abgeglichen werden muss $'
PS: Eigentlich ist das Finale abgeschlossen url Die Zeichenfolge ist http://Stammpfad: Portnummer/die URL-Zeichenfolge, die abgeglichen werden muss
Der vom System automatisch hinzugefügte Teil „http://Stammpfad: Portnummer/“
Beispiel: URL-Übereinstimmungsmuster: '^latest_books/$'
Die endgültige vollständige URL-Zeichenfolge: 'http://127.0.0.1:8000/latest_books/'
1) ^ : Übereinstimmung mit „Teilzeichenfolge-Kopf“.
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/'
wird abgeglichen.
2)$: Entspricht „dem Ende des Teilstrings“.
zB:
'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/'
werden alle abgeglichen.
3) Ob das Ende des Teilstrings „/“ enthält
Es muss standardmäßig hinzugefügt werden (die Grundgewohnheit von Django-Entwicklern), wenn es nicht hinzugefügt wird, tritt die folgende Situation auf:
aus django.conf.urls Importmuster, URL, include
urlpatterns = patterns('',
(r'^latest_books$', 'django_web_app.views.latest_books '),
)
Wenn Sie am Ende der Teilzeichenfolge kein „/“ einfügen möchten, können Sie die Einstellung in „setting“ hinzufügen .py: APPEND_SLASH=False
Damit dies funktioniert, muss jedoch CommonMiddleware installiert sein.
4) Konfigurieren Sie das „Stammverzeichnis“ der Website manuell
Ohne die „Ansichtsfunktion“ entsprechend dem „Stammverzeichnis“ der Website manuell zu konfigurieren, tritt die folgende Situation auf:
Konfigurieren Sie manuell das „Stammverzeichnis“, das der „Ansichtsfunktion“ entspricht:
a) urls.py
aus django.conf .urls Import Patterns, URL, include
urlpatterns = patterns('',
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
meine HomepageAusführungsergebnisse:
Anhang: Grundlagen regulärer Ausdrücke
3. Die Ausführungssequenz des Servers, der auf URL-Anfragen antwortet
1) Projektstruktur
django_web
🎜> Settings.py
urls.py
wsgi.py
django_web_app
__init__.py
admin.py
Models.py
tests.py
Ansichten .py
templates
latest_books.html
manage.py
2) Ausführungssequenz
a) Starten Sie den Server – Python manage.py runserver
Rufen Sie die Einstellungen in der Datei „setting.py“ ab. Die Konfiguration umfasst hauptsächlich:
Pfad der URL-Zuordnungsdatei:
ROOT_URLCONF = 'django_web.urls'
Pfad der Seitendateivorlage:
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
Datenbankkonfiguration:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django_db',
'BENUTZER': 'root',
'PASSWORT': 'feng',
'HOST': '127.0 .0.1',
'PORT': '3306',
}
}
b) Antwortreihenfolge
Erster Schritt 1: Der Browser sendet eine Anfrage
http://127.0.0.1:8000/latest_books/
Schritt 2: Der Server gleicht die angeforderte URL in urls.py ab und findet die entsprechende „Ansicht“. Funktion“
Schritt 3: Rufen Sie die entsprechende „Ansichtsfunktion“ auf und geben Sie ein HttpResponse-Objekt zurück
Schritt 4: Django konvertiert das HttpResponse-Objekt in eine geeignete HTTP-Antwort und gibt „Seite anzeigen“ zurück