24 maart 2020 door Peter
post main image
Flask is heet. Iedereen houdt van Flask. Ik denk dat de belangrijkste reden is dat het zo gemakkelijk is om te beginnen met Flask. Je maakt een virtual environment, copy-paste een paar regels code van een voorbeeld, richt je browser op 127.0.0.1:5000 en daar is je pagina. Dan hackt u een beetje met een Jinja sjabloon en u krijgt een mooie pagina. U kunt zelfs Flask draaien op een Raspberry ...
Lees meer
10 maart 2020 door Peter
post main image
Het probleem: een klant wil een applicatie met een bepaalde functionaliteit en wil dit gisteren. Wat je doet is op zoek gaan naar een plug-and-play oplossing, bibliotheken en/of extensies. Je vertelt je klant dat je het kunt, klant is blij, je doet het. U neemt bijvoorbeeld Wordpress, selecteert en configureert enkele plugins. Probleem opgelost, of wel? Ja, het probleem is opgelost, maar voor hoe ...
Lees meer
29 februari 2020 door Peter
post main image
Ik heb nooit echt gecontroleerd of CSRF bescherming werkte in mijn Flask applicatie, deze website. Is het standaard ingeschakeld? Uit de Flask_WTF uitbreidingsdocumentatie: Elke view die FlaskForm gebruikt om het verzoek te verwerken, krijgt al CSRF bescherming. En uit de tekst van Miguel Grinberg's post 'Cookie Security for Flask Applications': Als u uw webformulieren met de extensie ...
Lees meer
22 februari 2020 door Peter
post main image
Toen ik voor het eerst aan het opmerkingensysteem werkte, stuitte ik op het probleem om meerdere WTForms -formulieren op één pagina te hebben. Op elke pagina staat ook het zoekformulier, maar dit is geen POST formulier. Het doet een GET. Het opmerkingensysteem maakt gebruik van twee vormen: Comment form Comment reply form Het reactieformulier staat direct onder het inhoudselement, blogbericht ...
Lees meer
15 februari 2020 door Peter
post main image
Ik hoopte u vandaag te kunnen vertellen dat u nu commentaar kunt geven op de blogberichten van deze website. Dat zou hebben betekend dat ik de eerste implementatie van het opmerkingensysteem heb afgerond. Helaas stuitte ik op een aantal problemen, ja natuurlijk, ik ben een programmeur, en een daarvan betrof de TextAreaField. Ik wilde gewoon een eenvoudige uitgebreide versie van de WTForm TextAreaField, ...
Lees meer
8 februari 2020 door Peter
post main image
Nu dat ik blogberichten, pagina's en een contactformulier heb, heb ik besloten om de commentaren voor de blogberichten en pagina's te implementeren. Niet alleen platte commentaren, maar ook genestelde commentaren. Enkele maanden geleden las ik hierover en ik vond het artikel van Miguel erg goed: Implementatie van User Commentaar met SQLAlchemy. Zoals zo vaak begint Miguel met het definiëren van ...
Lees meer
30 januari 2020 door Peter
post main image
Als je begint met Flask lees je wat over de Application Context, TL;DR. Ik weet niet hoe het met u zit, maar ik heb het zeker niet helemaal begrepen. Wat is app, wat is current_app, wat is het verschil, je begint gewoon met het programmeren van je applicatie. De hele tijd is er op de achtergrond deze rare buzz: wat is de Application Context precies ... Op een bepaald moment wanneer u een klasse ...
Lees meer
24 januari 2020 door Peter
post main image
Wanneer u zich aanmeldt voor deze website krijgt u een avatarafbeelding toegewezen. Natuurlijk kun je de avatar in 'je account' veranderen en dit gebeurt met een image picker. Veel image pickers voorbeelden zijn te vinden op het internet. Maar dit is een Flask site inclusief WTForms en ik wil dat de image picker wordt gegenereerd door de prachtige Jinja macro die ik gebruik, zie ook onderstaande ...
Lees meer
13 januari 2020 door Peter
post main image
Tijd voor vreugde of crisis: het draaien van de OWASP Zed Attack Proxy (ZAP) applicatie om kwetsbaarheden van onze webapplicatie te controleren. Ontwikkelaars weten vaak dat er zwakke punten in hun code zitten, maar er is altijd een datum van levering. Dus waarom zou je niet een tool gebruiken die de bekende en belangrijke zaken op een rijtje zet? Dit is de eerste keer dat ik ZAP gebruik, dus als ...
Lees meer
6 januari 2020 door Peter
post main image
Deze Flask website is meertalig. De implementatie is beschreven in eerdere berichten. Tot nu toe stonden al mijn vertalingen in de Python code en de HTML sjablonen. Op een paar plaatsen had ik enkele vertalingen nodig in Javascript en deed dit door deze Javascript code inline te trekken in het HTML sjabloon. Bijvoorbeeld voor formulieren die ik nodig had: e.target.setCustomValidity('Please ...
Lees meer