Python Academy · Lektion

Routes og views

Håndtér HTTP-forespørgsler

Lektion 1 af 413 trin

Routes og views er en gratis Python Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Python Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Python Academy-kurset indeholder 4 lektioner i alt.

Hvad er Flask?

Flask er et letvægts-webframework til Python. Det lader dig bygge webapps og API'er med meget lidt standardkode. Installér det med pip install flask.

from flask import Flask
app = Flask(__name__)
print('Flask app created:', app.name)

Oprettelse af appen

Alle Flask-apps begynder med et app = Flask(__name__)-objekt. Argumentet __name__ hjælper Flask med at finde ressourcer som skabeloner.

from flask import Flask
app = Flask(__name__)
if __name__ == '__main__':
    # app.run() starts the development server
    print('App is ready to run')

Din første rute

En rute knytter en URL til en funktion (en visning). Dekoratoren @app.route() binder stien, og funktionens returværdi bliver svarindholdet.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def home():
    return 'Hello, world!'
print('Route / -> home')

Flere ruter

Definér så mange ruter, du har brug for. Hver sti får sin egen visningsfunktion.

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-dele

Indfang dele af URL'en med <variable>. Flask sender dem som argumenter til visningen.

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')

Typekonvertere

Tilføj en konverter som <int:post_id>, så Flask validerer værdien og konverterer den til den rigtige 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

Ruter håndterer som standard GET. Send methods=['GET', 'POST'] for at acceptere 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')

Kontrol af metoden

Inde i en visning fortæller request.method dig, hvilken metode der blev brugt, så du kan forgrene 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')

Returnering af statuskoder

Returnér en tupel med (body, status_code) for at angive HTTP-statussen, for eksempel 404 for ikke fundet.

from flask import Flask
app = Flask(__name__)

@app.route('/missing')
def missing():
    return 'Not here', 404
print('Returns body with status 404')

Oprettelse af URL'er

url_for('view_name') genererer en URL ud fra en visnings navn. Det undgår hardcodede stier, som måske ændrer sig.

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')

Start af serveren

Kald app.run(debug=True) for at starte udviklingsserveren. Fejlsøgningstilstand genindlæser ved ændringer og viser nyttige fejlsider.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def home():
    return 'Hi'

if __name__ == '__main__':
    app.run(debug=True)

Hurtig kontrol

Test din viden om routing.

Opsummering

Du har bygget Flask-ruter og visninger.

  • app = Flask(__name__) opretter appen
  • @app.route() knytter en URL til en visningsfunktion
  • <int:id> indfanger og konverterer dynamiske URL-dele
  • methods= og request.method håndterer HTTP-metoder
  • url_for() opretter URL'er, og app.run() starter serveren
Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
76
Lektioner
320

Ofte stillede spørgsmål

Er lektionen “Routes og views” gratis?

Ja — hele teksten til “Routes og views” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Python Academy-kurset, skal du opgradere til CoddyKit PRO. Python Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Routes og views”?

Håndtér HTTP-forespørgsler Du øver dig i Python Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Python Academy?

Der kræves ingen tidligere erfaring. Python Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Routes og views”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Python Academy-lektion?

Ja. Alle Python Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Routes og views
  2. Skabeloner med Jinja2
  3. Formularer og request-data
  4. Opbygning af et REST-endpoint
← Tilbage til Python Academy