Recent
- Database UUID primaire sleutels van je webapplicatie verbergen
- Don't Repeat Yourself (DRY) met Jinja2
- SQLAlchemy, PostgreSQL, maximum aantal rijen per user
- Toon de waarden in SQLAlchemy dynamische filters
- Veilige gegevensoverdracht met Public Key versleuteling en pyNaCl
- rqlite: een alternatief voor SQLite met hoge beschikbaarheid en distributed
Meest bekeken
- Met behulp van Python's pyOpenSSL om SSL-certificaten die van een host zijn gedownload te controleren
- Gebruik van UUIDs in plaats van Integer Autoincrement Primary Keys met SQLAlchemy en MariaDb
- Maak verbinding met een dienst op een Docker host vanaf een Docker container
- PyInstaller en Cython gebruiken om een Python executable te maken
- SQLAlchemy: Gebruik van Cascade Deletes om verwante objecten te verwijderen
- Flask RESTful API verzoekparametervalidatie met Marshmallow-schema's
Tags
AiohttpAJAXAlembicAlpineAPIApplication settingsAsyncBabelBeautifulSoupBootstrapCachingCaptchaCeleryColorsCompileCronCryptographyCSRF protectionCythonDecoratorDeep LearningDeepLDispatcherMiddleWareDistributionDNSDockerDocker SwarmDocker-composeEmailExceptionsFastAPIFlaskGunicornIconsIMAPInternetISPConfigJavascriptJinja2KubernetesLog fileLoggingMachine LearningMariaDBMessage brokerMultilanguageMultiprocessingPentestingPikaPostfixPostgreSQLProfilingPyInstallerpyOpenSSLPytestRabbitMQRedisrqliteScrapingSecuritySecurity testingSeleniumSlackSQLAlchemyTestingThreadsTimezoneToastsUbuntu TouchUUIDWeb automationWerkzeugWheelsWTFormsYouTubeFlask + SQLAlchemy + MariaDB profilering
29 juli 2019 0
Peter
Prestatie is een nooit eindigend verhaal. Op een gegeven moment viel het me op dat het op het scherm zetten van de startpagina zo'n 370 milliseconden in beslag nam door gebruik te maken van de Flask ontwikkelingsserver met getoonde debugberichten. Dat leek veel te lang! Hoe heb ik dit opgemerkt? Omdat ik onderaan elke pagina laat zien hoeveel tijd het kost om een pagina te genereren. Let op: de onderstaande ...
Flask applicatie-instellingen die ter plekke door een beheerder worden gewijzigd
26 juli 2019 0
Peter
Flask We hebben het configuratieobject dat gebruikt kan worden om databaseparameters, e-mailparameters, etc. te specificeren. Wanneer we een Flask programma uitvoeren, maakt het eerst de applicatie aan. Als de applicatie eenmaal is aangemaakt, worden de volgende verzoeken om de app te maken overgeslagen en doorgestuurd naar de blueprint weergaven. Bij het Flask starten worden de configuratievariabelen ...
Een andere captcha implementatie voor Flask en WTForms
4 juli 2019 0
Peter
In het verleden schreef ik een captcha in PHP te beperken e-mail nieuwsbrief aanmeldingen, werkte prima, in feite is het nog steeds in gebruik vandaag de dag. U kunt niet echt spam registraties blokkeren. Er zijn registratierobots, maar er zijn ook mensen die een paar dollar betaald krijgen om uw website te overspoelen met valse of trollenaccounts. Dat is de realiteit en dat moeten we onder ogen zien. ...
Verzending van post vanuit een dockercontainer met behulp van ISPConfig3 hosts Postfix MTA
28 juni 2019 0
Peter
In het eindeloze aantal problemen die je tegenkomt, en op te lossen, toen ik nieuwe technologie begon te gebruiken, werd ik geconfronteerd met een nieuwe: hoe kan ik e-mail te verzenden vanuit mijn Python docker app met behulp van de ISPConfig host MTA (Mail transfer Agent). Ik vond dat er twee manieren zijn om dit te doen: Stuur mail vanuit onze container naar port 25 de host waar ze MTA naartoe ...
SQLAlchemy datetime berekeningen aan de serverzijde
24 juni 2019 5
Peter
U vindt er veel SQLAlchemy datetime rekenvoorbeelden met behulp van bijvoorbeeld Python's timedelta functie. Waarom? Ik begrijp dit niet, behalve dat dit gemakkelijk is. Maar is het juist? Stel we willen alle gebruikersrecords of objecten die twee uur geleden zijn aangemaakt en de record / object definitie is: class User(Base): __tablename__ = 'user' id = Column(Integer, primary_key=True) ...
SLQAlchemy dynamische query building en filtering, waaronder soft deletes
21 juni 2019 1
Peter
Voortbouwend op de vorige post 'Flask, Jinja2 en SLQAlchemy many-to-many relatie met voorwaarden ', zocht ik een manier om dynamisch filtervoorwaarden toe te voegen en indien mogelijk ook een oplossing voor het soft delete patroon te vinden. Soft delete is niet het verwijderen van records uit een tabel, maar het markeren van records als verwijderd. Dit betekent dat elke tabel een verwijderde vlag ...
Flask Jinja2 en SLQAlchemy many-to-many relatie met de voorwaarden...
17 juni 2019 0
Peter
Disclaimer: Dit is mijn eerste SQLAlchemy project, dus ik ben niet ervaren en kan in deze post verkeerde uitspraken doen. Tijdens het werken aan mijn eerste Flask / SQLAchemy project (ik gebruik het niet Flask-SQLAlchemy) raakte ik een zeer hoge en dikke muur. Om dit uit te leggen, denk eraan dat je een blog hebt met berichten en tags. Er is een many-to-many relatie tussen berichten en tags: een bericht ...
Bootstrap 4.1 blogpostraster met drie kolommen, twee breekpunten en een nieuwe bestelling.
1 juni 2019 0
Peter
Voor deze blog wilde ik dat de blogpostpagina drie 'columns' zou bevatten. Waarom heb ik de woord kolommen geciteerd? Want wat een kolom op een groot scherm is, kan een rij zijn op een mobiel apparaat. Bootstrap gebruikt containers, rijen en kolommen. En natuurlijk kan een Bootstrap kolom op het scherm worden weergegeven als een kolom of een rij. Help! Bij het ontwerpen van een lay-out moeten we niet ...
Het verkleinen van de grootte van een Python applicatieafbeelding Docker met behulp van Python wheels
10 maart 2019 1
Peter
Bij het gebruik van de docker willen we dat het formaat van de dockerafbeelding minimaal is. Waarom? Vele redenen. Geheugenvoetafdruk is er een vooral bij het draaien van veel Python Flask websites op een ISPConfig3 server. Gelukkig kunnen we vanaf docker 17.05 gebruik maken van builds multistage . Hiermee verkleinen we onze beeldgrootte van 376MB naar 211MB! Hieronder staan twee afbeeldingen die ...
Maak Alembic kolomtypewijzigingen detecteren en de lengte van de tekenreeksenvelden wijzigen
9 maart 2019 1
Peter
Standaard verandert Alembic de lengte van de stringvelden niet, dit viel me op na het veranderen van een stringveld van: description = Column(String(150), server_default='') aan: description = Column(String(250), server_default='') Er zijn geen wijzigingen aangebracht. Het blijkt dat de detectie van kolomtype verandering standaard uitgeschakeld is, zodat u het eerst kunt testen, en kan worden ...
Python Flask app aan Docker in ISPConfig3 met Nginx - deel 1: Minimale app
13 februari 2019 0
Peter
Dit is een post die laat zien hoe je een Flask app op ISPConfig3 kunt draaien. Waarom? Ik heb een VPS op het internet draaien Debian en ISPConfig3. Het beheert statische sites en PHP sites. Maar nu wil ik ook mijn Flask python apps hier draaien. Op deze manier kan ik gebruik maken van het domeinbeheer dat ik gewend ben en heb ik geen extra server nodig voor Python apps. Deze oplossing gebruikt Docker ...