Kezdőoldal » Számítástechnika » Programozás » Python, ezeket hogy nevezik?...

Python, ezeket hogy nevezik? Pontosan mik lennének ezek?

Figyelt kérdés

Flask-nél láttam, hogy van ez az

@app.route()

sor és azt követően egy funkció.

Az érdekelne engem, hogy pontosan mik ezen az @(at)-tel jelölt dolgok?

Annyit találtam, hogy valami "decorator"-nak nevezik ezeket.


Tulajdonképpen valami olyasmit szeretnék elérni, mint a flask-login-ban a @login_required, csak persze flask-tól függetlenül.


2021. máj. 12. 18:36
 1/3 anonim ***** válasza:
67%
Azaz decorator :) ugy kepzeld el mintha egy kodreszlet/teljes program lenne amit hozzacsapsz ahhoz a kodhoz amit kidekoralsz vele.
2021. máj. 12. 19:14
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

Tessék, itt van egy hótegyszerű decorator, ami az auth értékéről függően enged be.


auth = False # vagy éppen True


def login_required(error):

_ def wrapper(func):

___ if auth:

_____ func()

___ else:

_____ print('auth error:', error)

_ return wrapper


@login_required(error='NOPE!')

def foo():

_ print("Foo!")

2021. máj. 12. 19:23
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:

#1 Ez egy oldal ahol kérdést lehet feltenni. Ezzel a logikával az egész subkategóriát ki lehetne törölni.

Ha nem tudod a választ, kérlek táncikálj másik kérdésre. Szia!


#2 Köszi a választ, ez teljesen érthető! :)


#3 Köszi neked is a választ!

Ez tök jó! Hasonló példákat én is találtam, viszont, ha (használjuk példaként) a @login_required-et használjuk, nincs mögötte a zárójeles rész azaz pl így néz ki:


@auth.route('/something')

@login_required

def smth():

return "Kenyér"


Tehát itt pl így néz ki.

Ez egyébként tényleg csak egy példa volt hozzá, hogy elmagyarázzam, miről is beszélek pontosan.


Amit írtál talán úgy tudnám használni, hogy ha már session-be teszem úgyis a felhasználót, hogy ott lesz pl egy "isLoggedIn" és azt teszem be a zárójeles részbe, bár ha jól tudom, a flask-session elég kezdetleges még mindig, a sima pythonos session-t meg nem tudom, lenne-e értelme webes appal használni.


Lehet kombinálni kellene PHP-val mondjuk? Ott úgyis van SESSION... Nem tudom, ez hülyeség lenne-e?


Alapvetően ezeket használnám úgy összességében:

Az oldalakhoz:

HTML, JS, Jinja (a flask miatt)

Backendhez:

Python (agyalok ehelyetta nodejs-es Expressen), talán így PHP

Frontend:

szintén JS, CSS, talán valami minimalista könyvtárat, mint pl a bootstrap.


Köszi mégegyszer a választ #2 #3!

2021. máj. 12. 19:41

További kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!