Ruter og visninger
Håndter HTTP-forespørsler
Ruter og visninger er en gratis leksjon i Python Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Python Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Python Academy inneholder totalt 4 leksjoner.
Hva er Flask?
Flask er et lettvekts Python-nettverk? web-rammeverk. Det lar Dem bygge webapper og API-er med svært lite standardkode. Installer det med pip install flask.
from flask import Flask
app = Flask(__name__)
print('Flask app created:', app.name)Opprette appen
Alle Flask-apper starter med et app = Flask(__name__)-objekt. Argumentet __name__ hjelper Flask med å finne ressurser som maler.
from flask import Flask
app = Flask(__name__)
if __name__ == '__main__':
# app.run() starts the development server
print('App is ready to run')Deres første rute
En rute kobler en URL til en funksjon (en view). Dekoratoren @app.route() knytter banen til funksjonen, og returverdien fra funksjonen blir innholdet i svaret.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Hello, world!'
print('Route / -> home')Flere ruter
Definer så mange ruter De ønsker. Hver bane får sin egen view-funksjon.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Home page'
@app.route('/about')
def about():
return 'About page'
print('Two routes defined')Dynamiske URL-deler
Hent ut deler av URL-en med <variable>. Flask sender dem som argumenter til view-funksjonen.
from flask import Flask
app = Flask(__name__)
@app.route('/user/<username>')
def show_user(username):
return 'Profile of ' + username
print('URL /user/alice -> show_user')Typede konverterere
Legg til en konverterer som <int:post_id>, slik at Flask validerer verdien og konverterer den til riktig type.
from flask import Flask
app = Flask(__name__)
@app.route('/post/<int:post_id>')
def show_post(post_id):
return 'Post number ' + str(post_id)
print('post_id arrives as an int')HTTP-metoder
Som standard håndterer ruter GET. Send inn methods=['GET', 'POST'] for å godta andre metoder.
from flask import Flask
app = Flask(__name__)
@app.route('/submit', methods=['GET', 'POST'])
def submit():
return 'Handled GET or POST'
print('submit accepts GET and POST')Kontrollere metoden
Inne i en view forteller request.method hvilken metode som ble brukt, slik at De kan tilpasse logikken.
from flask import Flask, request
app = Flask(__name__)
@app.route('/submit', methods=['GET', 'POST'])
def submit():
if request.method == 'POST':
return 'Form submitted'
return 'Show the form'
print('Branch on request.method')Returnere statuskoder
Returner en tuppel med (body, status_code) for å angi HTTP-statusen, for eksempel 404 når noe ikke ble funnet.
from flask import Flask
app = Flask(__name__)
@app.route('/missing')
def missing():
return 'Not here', 404
print('Returns body with status 404')Bygge URL-er
url_for('view_name') genererer en URL fra navnet på en view. Dette unngår hardkodede baner som kan endres.
from flask import Flask, url_for
app = Flask(__name__)
@app.route('/about')
def about():
return 'About'
# url_for('about') -> '/about'
print('url_for builds URLs by view name')Kjøre serveren
Kall app.run(debug=True) for å starte utviklingsserveren. Feilsøkingsmodus laster siden på nytt ved endringer og viser nyttige feilsider.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Hi'
if __name__ == '__main__':
app.run(debug=True)Hurtigsjekk
Test kunnskapene Deres om ruting.
Oppsummering
De har bygget Flask-ruter og view-funksjoner.
app = Flask(__name__)oppretter appen@app.route()kobler en URL til en view-funksjon<int:id>henter ut og konverterer dynamiske URL-delermethods=ogrequest.methodhåndterer HTTP-metoderurl_for()bygger URL-er, ogapp.run()starter serveren
Lær deg Python med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 76
- Leksjoner
- 320
Ofte stilte spørsmål
Er leksjonen «Ruter og visninger» gratis?
Ja – hele teksten i «Ruter og visninger» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Python Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Python Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Ruter og visninger»?
Håndter HTTP-forespørsler Du øver på Python Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Python Academy?
Ingen tidligere erfaring er nødvendig. Python Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Ruter og visninger»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Python Academy-leksjonen?
Ja. Alle Python Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Ruter og visninger
- Maler med Jinja2
- Skjemaer og forespørselsdata
- Bygge et REST-endepunkt