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
- PyInstaller en Cython gebruiken om een Python executable te maken
- Maak verbinding met een dienst op een Docker host vanaf een Docker container
- 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 automationWerkzeugWheelsWTFormsYouTubeMeerdere (Flask) websites draaien met een enkele Docker setup
30 september 2020 0
Peter
Ik heb één Flask website ontwikkeld op Docker maar na verloop van tijd, toen mijn code stabieler werd, wilde ik dezelfde opzet gebruiken voor andere websites. Voor een website heb ik een kopie gemaakt omdat die gisteren moest werken. Maar wat ik echt wilde was alle code delen, en een aantal templates. Natuurlijk heeft elke website zijn eigen statische directory, logging directory, templates, etc. ...
Het testen van de Docker bestandpatronen .dockerignore
22 september 2020 0
Peter
Dit is een kort berichtje over iets wat ik al lang geleden wilde doen en waarvoor ik eindelijk wat tijd heb gevonden. Het was niet echt een geval van TL;DR (Too Long; heeft niet gelezen), maar meer zoiets als TLT;DR (Too Little Time; heeft niet gelezen). Zoals u waarschijnlijk weet, wordt het Docker bestand .dockerignore gebruikt om te voorkomen dat bepaalde bestanden en directories in uw Docker ...
Met behulp van Python om Postfix verzonden status te krijgen voor berichten met een message-id
20 augustus 2020 0
Peter
Het probleem: ik heb een website die e-mails verstuurt. De e-mails (meta) worden opgeslagen in een database voordat ze naar de Postfix MTA worden verzonden. Elke e-mail die de website verstuurt heeft een unieke message-id, zoiets als 159766775024.77.9154479190021576437@peterspython.com. Ik wil controleren of de e-mails daadwerkelijk zijn verzonden en deze informatie toevoegen aan de e-mail (meta) ...
Functioneel testen van een meertalige Flask website met Pytest
25 juli 2020 1
Peter
Testen is hard werken. Het is totaal anders dan het creëren of aanpassen van functionaliteit. Ik weet het, ik heb ook computerhardware, geïntegreerde schakelingen, hardware-testsystemen ontwikkeld. Ik heb tests geschreven voor CPUs, computerproducten, ontwikkelde testsystemen. Met hardware kun je geen fouten maken. Fouten kunnen het einde van je bedrijf betekenen. Welkom in de wondere wereld van ...
IMAPClient en het ophalen van body parts
26 juni 2020 0
Peter
Ik heb besloten om de focus tijdelijk te verleggen van het ontwikkelen van de software voor mijn CMS / Blog naar een kleiner project. De belangrijkste reden is dat ik hoopte nieuwe dingen te leren over Python die nuttig zijn. Ik wilde altijd al mijn eigen IMAP client software hebben. Misschien was mijn keuze ook sterk beïnvloed door enige ergernis over de IMAP client Dekko2 voor Ubuntu Touch, ...
Moet je lezen: Internetreclame is een bedrijfsstad van Trevor Jim
17 juni 2020 0
Peter
Bij het zoeken naar iets op het internet kom je soms een artikel tegen dat perfect beschrijft wat je al jaren aan vrienden, collega's, vertelt. Of je nu een uitgever bent, een softwareontwikkelaar, een reclamebureau, dit artikel van Trevor Jim is een must-read. Hier zijn de eerste regels: Internetreclame is een bedrijfsstad 28 februari 2017 Als je veel Hollywood-westerns hebt gezien, heb je waarschijnlijk ...
Maak uw eigen Python aangepaste uitzonderingsklassen op maat van uw toepassing.
17 juni 2020 0
Peter
Het gebruik van uitzonderingen in Python ziet er gemakkelijk uit, maar dat is het niet. Waarschijnlijk moet u de uitzonderingen en de behandeling van uitzonderingen bestuderen voordat u een Python code schrijft, maar TL;DR. Er zijn voorbeelden op het internet, helaas zijn de meeste zeer triviaal. Hoe dan ook, ik heb dit onderzocht en kwam met wat code die ik dacht te delen met jullie. Laat een ...
Gebruik van pictogrammen op uw Flask website en verklein 'First Contentful Paint'.
29 mei 2020 0
Peter
Er zijn vele soorten vectoriconen. In dit bericht kijk ik alleen naar SVG-iconen, en beperk me tot navigatiepictogrammen, soms ook wel interface-iconen genoemd. Deze iconen zien er niet alleen mooi uit op websites, ze kleuren en schalen ook als lettertypes. En ze zijn zeer functioneel. Stel je een knop voor met de tekst 'Edit' erin. Vervang deze tekst door een potlood-icoon en je krijgt meer ruimte ...
Modellen, klassen, blauwdrukken en sjablonen delen tussen apps met Flask DispatcherMiddleWare
12 mei 2020 0
Peter
Op deze site draait Flask. Het gebruikt DispatcherMiddleWare om de frontend app en de admin app te draaien. In de Flask documenten staat dat de Flask applicaties in dit geval volledig van elkaar geïsoleerd zijn. Dat is waar, maar vaak is er veel code die we willen delen tussen deze apps. Dingen die we willen delen Beide apps gebruiken dezelfde database, wat betekent dat we het models.py bestand ...
Het omzetten van een SQLAlchemy MariaDb / MySQL database met Integer Primary Keys naar UUID Primary Keys voor een Flask website
26 april 2020 0
Peter
Deze website gebruikt Flask, (gewoon) SQLAlchemy met Alembic voor migraties en MariaDb. Als u deze niet gebruikt, is dit bericht waarschijnlijk niet wat u zoekt. In een vorig bericht schreef ik waarom veel websites UUID Primary Keys zouden moeten gebruiken in plaats van Integer Primary Keys. Zelfs als je een high performance website hebt, dan zijn er waarschijnlijk maar weinig tabellen verantwoordelijk ...
Blacklisting van IP-adressen op uw Flask website die draait op Linux
16 april 2020 0
Peter
Je hebt een website en het werkt prima. Maar u merkt dat bepaalde bezoekers met uw formulieren proberen te knoeien. Ze komen van specifieke IP-adressen. Dan zijn er ook nog bots die uw site aan het scannen zijn. Sommige zijn nodig, maar andere moeten wegblijven. Haat je dit niet? Ik wel. In het verleden heb ik ooit een module geschreven die heel langzaam, byte voor byte, een niet zo leuke reactie teruggaf, ...
Gebruik van UUIDs in plaats van Integer Autoincrement Primary Keys met SQLAlchemy en MariaDb
9 april 2020 1
Peter
We kennen allemaal de Integer Autoincrement Primary Key. Werkt geweldig, veel software doet het op deze manier. Het is snel. Maar het heeft ook beperkingen. Een alternatief voor de Integer Autoincrement Primary Key is de UUID (Universally Unique IDentifier) Primary Key. Een UUID is een 128-bit getal. Het kan bijvoorbeeld worden gerepresenteerd door een string: 05390f2b-48e8-45c7-8ae4-08272dc69122 of ...
Elimineer herhaling en verbeter het onderhoud door een Flask view class aan te maken.
24 maart 2020 0
Peter
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 ...
Aarzel niet om het wiel opnieuw uit te vinden als u wilt dat uw software met open source componenten langer meegaat.
10 maart 2020 0
Peter
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 ...
Flask, WTForms en AJAX: CSRF bescherming, before_request en meertalige bescherming
29 februari 2020 1
Peter
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 ...
Flask met meerdere formulieren op een pagina geplaatst met behulp van AJAX en het terugsturen van een weergegeven formulierresultaat
22 februari 2020 0
Peter
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 ...
Een textarea met een tekenteller widget voor Flask, WTForms en Bootstrap
15 februari 2020 1
Peter
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, ...
Geregenereerd commentaar met behulp van Common Table Expressions (CTE) voor een MySQL Flask blog of CMS
8 februari 2020 86
Peter
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 ...
De mysterieuze Flask Application Context, mijn vragen en antwoorden
30 januari 2020 0
Peter
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 ...
WTForms image picker widget voor Flask met Bootstrap 4 zonder extra Javascript en CSS
24 januari 2020 0
Peter
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 ...