Python

Top 10 Python Web Frameworks

Top 10 Python Web Frameworks
Når du vil oprette et websted, har du brug for HTML, JavaScript og CSS. For at oprette et websted ved hjælp af Python har du brug for et par andre ting. Disse ting er måder at oprette HTML, CSS og måske endda JavaScript på. Du kan oprette rutiner til at skrive hver webside, når brugerne interagerer med webstedet, og andre begivenheder opstår. Dette er præcis, hvad forfatterne af webrammer har gjort, hvilket gør det let at oprette sider og hele sider. At kalde det let er en overdrivelse, men i det mindste vil det hjælpe med at gøre processen hurtigere.

Hvilke typer webrammer er der?

Da udviklerne af hver ramme havde forskellige behov, adskiller rammerne sig imellem dem. Nogle ønskede hurtigt at løse det eneste problem, de havde, og andre ønskede en mere fuldstændig løsning.

En mikroramme er bygget til at have meget lidt funktionalitet fra starten, så du kan tilføje, når dine behov vokser. Andre rammer er så fulde af funktioner fra starten, at du har et fungerende sted, så snart du har installeret det grundlæggende. Disse fungerer normalt som et indholdsstyringssystem fra bunden, noget du måske eller måske ikke vil have.

Hvad vil du oprette?

Når du vælger din ramme, skal du først overveje, hvad du vil oprette, og vælge i overensstemmelse hermed. Som nævnt tidligere vil du måske have et CMS og bare sætte dit eget spin på det, eller du har noget mere unikt i tankerne. Lav en plan for dit websted, og prøv at finde den ramme, du har brug for til den pågældende opgave. Hvis du vil lære, skal du vælge en, der har meget få funktioner først, da den vil lære dig mere. Hvis du vælger en mere avanceret, er der allerede gjort mange ting for dig. Mindre indsats og mindre læring eller mere indsats og dybere viden i sidste ende, dit valg.

Hvad vil du lære om hver ramme?

I denne artikel lærer du, hvilken ramme der fungerer bedst for dig ud fra nedenstående liste over rammer:

Django

Django er en velkendt ramme, der indeholder mange ting. Når du begynder at bruge det og kører det oprindelige script, indstiller det al kode, så den fungerer. Dit næste trin er at rydde ting, du ikke ønsker, og tilføje det, du ønsker. Alle nødvendige filer oprettes af det oprindelige script, og alt hvad du skal gøre er at redigere dem for at tilpasse sig dine egne behov. Mange databaser understøttes, og den har også en objektrelationskortlægger (ORM). En ORM er nyttig, fordi du kan designe dine databaser én gang og holde fast ved den, selv når du skifter database.

Kolbe

Kolben er mikro-web-ramme, det betyder, at den har meget få funktioner i starten. Du skal også selv oprette din filstruktur. Dette er mere arbejde, men betyder også mere kontrol. Der er mange plug-ins, så denne ramme som mikro gør det ikke begrænset. Det har bare brug for lidt mere opmærksomhed, når du begynder at opbygge et nyt projekt. Databaser er ikke indbygget, men du har flere fantastiske plug-ins tilgængelige på deres eget websted. Som med de fleste webrammer kan du også have en lokal webserver, der kører, mens du koder, til fejlfindingsformål.

Web2Py-ramme

Web2Py kører som det er, når du har det installeret, det kommer med en indbygget administrativ grænseflade og kan køre lokalt uden nogen installationsprocedure. Det er skrevet i Python og designet til at blive programmeret med Python. Denne ramme har også plug-ins som de andre, men denne har også 'opskrifter'. Disse opskrifter er al kode for et færdigt sted, som du kan downloade og tilpasse til dine egne behov. Med denne pakke kan du downloade en anden pakke og have et komplet websted kørende. Et eksempel er www.lillewebsite.net, du kan bruge GitHub-koden til web2py, gå til din applikationsmappe og klone den lille webside i den mappe, og du har et fungerende websted.

TurboGears

TurboGears har et interessant koncept, du kan starte denne pakke som en mikroramme eller tilføje, før du starter. Dette betyder, at du kan flytte ind i en fuld stak-løsning fra et mikro-framework. Den minimale tilstand har faktisk kun brug for en kildekodefil fra dig for at køre, så du kan vælge nøjagtigt, hvor meget kontrol du har, når du vokser. I fuld tilstand understøtter den mange databaser og har et omfattende skabelonsystem. For at prøve det skal du bare installere det i et virtuelt miljø ved hjælp af pip.

CubicWeb

Cubicweb-rammen har en enkel grænseflade med næsten al applikationslogik i 'terninger', disse er udvidelser. Når du begynder at bruge det, rådes det dig at vælge en 'terning' og se, hvad du vil ændre i den. CubicWeb installeres som en normal applikation i Debian-baserede applikationer, bare tilføj deres lager og installer. Der er to pakker; køretiden og udviklingspakken. Denne ramme er stærkt afhængig af objektorienteret programmering i Python, så hvis det er din smag, skal du se nærmere på det. Forbindelsen til databaser oprettes via deres eget forespørgselssprog, der hedder RQL, hvilket svarer til W3Cs SPARQL. Hvis dette lyder godt for dig, har de 190 'terninger', der hjælper dig med at oprette gode websteder.

Sanic

Sanic-rammen blev udviklet med hastighed som førstehåndsprioritet, det tillader async / afventer, som blev tilføjet i Python 3.5. Sanic understøtter Python 3.6 og højere! Du installerer sanic med pip-kommandoen. Det andet mål er at være enkel, du kan få en 'Hello World' startet i ti linjer kode. For at få fuld udnyttelse af denne ramme har du brug for uvloop og ujson, det fungerer alligevel, men den tilsigtede hastighed bliver ikke realiseret. Sanic er let at køre direkte som en webserver, mens den stadig bruges til at udvikle dit websted.

Giotto

Giotto er designet til at have meget lille codebase, mens den stadig har de fleste funktioner. Du installerer Giotto med pip-kommandoen. For at prøve det og begynde at eksperimentere har du kun brug for tre kommandoer. Projektet bruger Jinja2 til HTML-skabeloner, SQLAlchemy til databaseforbindelse og understøtter Redis til cachehåndtering. For at installere Giotto skal du bruge pip-kommandoen, den seneste version findes på GitHub. Du kan bruge git-udvidelsen af ​​pip-kommandoen for at få den. For at oprette filstrukturen til et nyt projekt kører du kommandoen 'giotto create', dette skaber hele filstrukturen, så du kan tilpasse dig dine behov.

Pyramide

Pyramiden startede livet som Pylons Project, ambitionen er og har altid været en balance mellem mikroramme og full stack-løsning. Det sigter også mod at være lille og let skalere. En original idé er, at der ikke er noget udvidelsessystem, i stedet opretter og bruger du udvidelser på PyPi-systemet. Dette gør det fleksibelt at oprette en ny tilføjelse.

Flaske

Flasken distribueres som et enkelt filmodul og kræver kun Python selv. Det er meget lille og har en indbygget skabelonmotor og udvikling. På trods af det har den understøttelse af de andre skabelonmotorer og enhver tilgængelig WSGI-kompatibel server. Du kan bruge deres opskrifter til at få en idé om, hvordan du bruger rammen, og du er velkommen til at bruge disse i din egen kode. Bottle har mange plugins, dog ikke så mange som andre projekter.

CherryPy

CherryPy er stolt af at have lavet et kraftfuldt konfigurationssystem. Systemet er også ekstremt let at komme i gang med, da udviklere ikke behøver at lære om alle modulerne. Dette får det til at virke som om du ikke kan bruge det til større systemer, men det er forkert. Netflix bruger denne ramme.

Konklusion

Du har mange valg, når du vælger en ramme til dit næste webprojekt. Tag dig tid til at overveje, hvad du har brug for, før du starter. Der er dog så mange, at du skal sætte en tidsbegrænsning på din forskning og komme i gang med kun en.

HD Remastered-spil til Linux, der aldrig tidligere havde haft en Linux-udgivelse
Mange spiludviklere og udgivere kommer med HD-remaster af gamle spil for at forlænge franchisens levetid. Venligst fans, der anmoder om kompatibilitet...
Sådan bruges AutoKey til at automatisere Linux-spil
AutoKey er et desktopautomatiseringsværktøj til Linux og X11, programmeret i Python 3, GTK og Qt. Ved hjælp af dets scripting og MACRO-funktionalitet ...
Sådan vises FPS-tæller i Linux-spil
Linux-spil fik et stort skub, da Valve annoncerede Linux-support til Steam-klient og deres spil i 2012. Siden da har mange AAA- og indiespil fundet ve...