Praktisk nettbasert dyp læring og sikkerhet ved eksempel

Ved Daisy
Praktisk nettbasert dyp læring og sikkerhet ved eksempel Tredje utgave Charlotte Harper 3. juli 2024 Forord: Sikkerhetshensyn i å bygge programvare for nettet er en viktig del av enhver webutviklers plan og utførelse mens du konstruerer en prototype som er pålitelig, stabil og nyttig for praktiske formål. DOM (Document Object Markup), med implementeringen av HTML, JavaScript og CSS, samt backend -programvare som implementerer Python, C/C ++, Java og Bash, gir nettutviklere frihet og makt til å lage et bredt utvalg av prosjekter som uttrykker Kreativitet, gir brukervennlighet og funksjonalitet, skildrer ydmykhet og karakter, og gir brukervennlighet samt bekvemmelighet og viktige tjenester som alle er attraktive for den gjennomsnittlige Joe, sluttbrukeren som ønsker å drepe tid eller få noe gjort på internett, Vanligvis på en smarttelefonenhet på berøringsskjerm. De fleste ville ikke engang vite hvor de skal begynne når de vil bygge et nettsted fraSkrap, de vil ha en tendens til å starte på en annen persons nettsted og bygge noe begrenset i funksjonalitet, pålitelighet, brukervennlighet og spesielt kreativitet når de kunne hatt alle de nyeste kraftige verktøyene til disposisjon for å bygge noe nyttig uten å kaste bort tid på å trykke på knapper , og spesielt å kaste bort penger som betaler for dyre abonnement på programvare, få mennesker ønsket å bruke uansett, gitt det begrensninger med brukervennlighet og fleksibilitet. Hvis du har noen minutter til å lese gjennom denne boken og lære hva jeg vil lære deg, eller til og med snakke med meg personlig om målene dine og få litt veiledning i riktig retning, og er motivert til å lære å kode og skrive din egen programvare Ta denne boken hjem og sett av litt tid til å lære å bygge den neste innflytelsesrike, kraftige, strømlinjeformede og viktige webapplikasjonen, et nettsted som er alt på deg og gjør akkurat det du vil og tilfredsstiller behovene til publikum. Om meg: Jeg er programvareutvikler medRange erfaring i C/C ++, Java, Python, HTML, CSS og JavaScript. Jeg bygger nettsteder folk vil bruke, vil besøke og til og med bli avhengige av å bruke bare for å lære, gjenskape og drepe tid, og viktigst av alt, jeg selger programvare. Hvis du hadde en ide om nøyaktig hvordan du ønsket at et nettsted skulle se og fungere, var du villig til å støtte meg slik at jeg kan møte mine egne behov mens jeg møter dine, og du er villig til å dekke kostnadene ved å drive et nettsted selv, selv, Jeg ville bygge deg den neste YouTube, Tiktok, Twitter, Google eller til og med en høyteknologisk sikkerhetsapp bare du har tilgang til. I stedet for å prøve å selge deg tiden min, prøver jeg å kjøpe din: Jeg vil snakke deg om å bygge en app (nettsted) selv med informasjonen som allerede eksisterer, og lære deg hva du trenger for å være en uavhengig programvareutvikler, gründer, som leder en vellykket karriere innen hvilket felt du ønsker. Og la meg være tydelig, utdannelsen jeg gir deg vil være uformell. Du kan gå på skolen og lære alt dette med enFormell utdanning, eller til og med les denne boken på skolen, fullfører oppgavene dine og tar bort mye fra utdannelsen din, men jeg vil ikke formelt sette deg i det varme setet og be deg om å fullføre oppgaver. Jeg er ikke din professor, du kan tenke på meg som en venn som vil veilede deg mot en karriere drevet av din egen personlige suksess. Og jeg selger ikke suksessen din heller, du må kjøpe den med tiden din. Å lære å kode har en bratt læringskurve og var aldri lett, eller til og med antatt å være. Du må jobbe så hardt som du kan og fortsette å prøve å mislykkes og prøve igjen selv når du er frustrert for å lære og bygge apper selv. Det er i selve koden. Kode drives av en kompilator som er designet for å gi programmererfeilmeldingene, og disse vil lære deg hvordan du skal kode, selv om du bare kopierer feilen i søkemotoren og leser andres eksempler. Og jeg må si, du trenger ikke å være ekstremt rik, smart,Esselig, eller til og med detaljorientert eller organisert for å bygge en app. Datamaskinen tar seg av den organisasjonen for deg. Du trenger bare å holde ut gjennom prøving og feiling, opprettholde fokus og jobbe hardt på det du gjør, og du vil ha en veldig vellykket karriere i hele det du gjør. Hvem jeg er: Jeg er klar over at den siste delen handlet mer om læring og at du tar vei fra denne boken. Hvem er jeg akkurat? Det er et komplisert spørsmål. Jeg er uklar på det selv, ettersom jeg lider av medisinske tilstander som kan gjøre det vanskelig for meg å til og med kode eller skrive denne boken til tider, mens jeg presenterer utfordringer med sosialisering og identitetsproblemer som gjør livet mitt vanskeligere når det gjelder å introdusere meg selv . Kort sagt, hvis du leser denne boken, tok du den med hjem fordi du snudde gjennom den og trodde den var nyttig, eller til og med hvis du bare leste så langt inne, for deg er jeg et lignende individ som vil se at du lykkes med alt du gjør. Jeg er ingeniør selv,utvikler, og en student, og jeg skriver denne boken for andre studenter som ønsker å gjøre livet lettere ved å ha en håndbok over programvaren de trenger å gjøre livet lettere ved å gi eksempler på å kopiere som passer sammen som et stort puslespill til en arbeid , nyttig, stor, funksjonell, sammenhengende og engasjerende app som kan drive suksess uansett virksomhetslinje. Stort sett er det dette jeg gjør: Jeg bygger apper for å hjelpe meg selv og andre mennesker til å lykkes. Jeg er også forfatter, selv om dette er min første publikasjon som jeg har tenkt å fullføre for å sette sammen porteføljen min i et nyttig dokument, og jeg er også kunstner. Jeg vil innrømme dette for deg, jeg er liksom en merkelig person. Jeg er ikke perfekt, jeg har hatt innløp med loven som til og med førte meg til å forlate høyskoler og universiteter og forlate stater for å prøve å gi et navn for meg selv med mer suksess. Jeg er en kvinne ved fødselen, jeg bruker sminke, tar bilder av meg selv, bruker kjoler og andre kvinneklær, og jeg holder meg bevisst på meg selv som enkvinne av natur. Jeg har hatt problemer med andre mennesker i det siste som fører til kamp med å skrive og bygge webapps, og jeg beklager at jeg ikke har klart å få denne boken i hendene før: du trengte dette. Du vil ønske å lese og skrive kode som ser ut som min og fungerer som min og gjør det samme, men enda bedre, for hvis du har råd til å kjøpe denne boken i stedet for å mase tastaturet ditt som jeg gjør bare for å lage en bok selv å spørre penger For det har du ressursene du trenger for å lykkes i livet ditt. Jeg hadde alle slags problemer med familieoppvekst, helsemessige forhold, leger, media og loven, og koden min gjenspeiler dypt kampen som er feminisme og kvinnelig natur i en delt og frustrert verden. Imidlertid er denne boken noe jeg bryr meg dypt om, babyen min, porteføljen min og levebrødet mitt, så jeg setter pris på din vurdering når du tar teksten hjem og porer nøye over den for å lære av meg. Husk at jeg ikke er detECT, denne boka vil ha feil, revisjoner og nye utgaver, og du må tenke med din logiske hjerne så godt du kan for å få en vellykket opplevelse med forfatterskapet mitt. Forstå også at jeg mener godt for deg selv når du møter utfordringer når du skriver. Tenk på det slik: Når du bare kan leie et datasystem for å gjøre alt du muligens kan forestille deg i det digitale rommet, lagre all informasjonen du møter, #$%! Yze og organiser det, og kom til å forstå det, vil du Uunngåelig møter vanskeligheter med informasjonen du inntar og til og med publiserer. Jeg forteller deg dette fordi jeg møter de samme vanskene. Bruk denne boken på egen risiko, arbeid med samfunnet og lokalsamfunnene dine som er tilgjengelige for å bygge programvare innen trygge omgivelser, og ikke ta ting til personlig når du mislykkes eller til og med lykkes på feil måte: det var slik jeg kom så langt , og hvorfor jeg kan gi deg denne teksten og hjelpe deg med å lykkes uten å avvike på en galskaps veiAves meg ødelagt, revet og frynsete mens jeg møter de vanlige problemene alle gjør i global skala takket være den paralellistiske globale skalaen til nettverket vi vil jobbe, Internett. Du er kanskje ikke veldig kjent med hvem jeg er med bare noen få ord, men jeg oppfordrer deg til å lese videre, du vil bli kjent med meg når du fortsetter å lese og forstå meg mens du bygger dine egne prosjekter for å fullføre arbeidet ditt. Det vil ikke være noen lekser med denne boken, så lenge professorene eller lærerne dine ikke tildeler deg noe, men jeg oppfordrer deg til å bygge en portefølje av prosjekter selv når du leser med, i tillegg til et capstone -prosjekt som viser hvordan du kan Bruk det du har lært. Capstone -prosjektet mitt er grunnlaget for det meste av det du vil lese i denne boken, ettersom det inneholder kode fra mine tidligere prosjekter, kode jeg har laget og lært å skrive metodisk for hånd, og et bredt spekter av ideer og tips som har hjulpet meg lykkes til det punktet hvor jeg kan snurre opp en enkel app somFullt inneholdt og ser ut og oppfører seg som en populær app du kanskje ser vennen din eller familien din som bruker, på internett, annonsert til deg eller i nyhetene. Hva denne boka er: Denne boken er en tutorial ved eksempel. Du kan finne kode her, instruksjoner for hvordan du kan lære å kode, informasjon om feilsøkingskode og fikse feil, feilsøkingstrinn, instruksjoner om hvordan du kan sikkerhetskopiere og lagre koden din, distribuere hvis noen bryter koden din, sikre koden din, distribuere Koden din, bygg interaktive nettsteder som er underholdende, engasjerende og vanedannende, og du vil få en følelse av hvem jeg er, hvorfor dette er viktig, og hvordan du kan skildre deg selv, appen din og firmabildet, så vel som programvaren du bygger I det absolutt beste lyset for å være det mest attraktive som mulig for sluttbrukerne, nettstedets besøkende. I denne boken vil jeg demonstrere en rekke eksempler på programvaredesign med fokus på nettet som plattform så vel som sikkerhet. Vi vil sette i gang læringsopplevelsen ved å bygge en grunnleggendeOjekt ved bruk av UNIX -skallet, med sikkerhetskopierings- og skriptfunksjoner. Deretter vil vi undersøke et grunnleggende bloggnettsted, oppgradere bloggen vår med foto- og videofunksjoner, samt bruke disse funksjonene til å bruke sikkerhetsløsninger ved hjelp av gratis programvare, og sikre serveren vår ved hjelp av en pluggable autentiseringsmodul (PAM). Vi vil deretter gjennomgå filhåndtering og prosessering, utforske videoredigering, stemmedonasjon, strekkodeskanning og optisk karaktergjenkjenning, blant andre konsepter. Underveis vil vi undersøke API -er som vil hjelpe oss å gjøre programvaren vår mer nyttig og sikker, med gratis og betalte alternativer. Underveis vil vi utforske fysisk sikkerhet og militante verktøy som skytevåpen og ammunisjonsdesign og produksjon, inkludert tønne og repeaterdesign, tårn og dronedesign, og andre rektorer vi vil integrere med programvaren vår i det eksisterende nettverket for å beskytte programvaren vår og demonstrere selvforsvar og spenst. Vi tar pauser underveis for å bygge spill, 2D og 3DEnder motorer, og arbeid med innebygd maskinvare i casestudieeksempler på grunnleggende dimensjonal gjengivelsesprogramvare og en elektronisk vibrerende massasje støpt i henholdsvis silikongummi. Underveis vil vi også bruke maskinlæringsløsninger som allerede er tilgjengelige for å sikre programvaren vår bedre. Vi vil også bruke aksjeverktøy tilgjengelig for nettet for å effektivisere og sikre prosessen. Denne boken er en guide til din suksess med å bygge en webapplikasjon og integrere den med et profesjonelt nettverk av datamaskin og innebygde mekaniske systemer, og samlet sett en guide til å bygge programvare og innebygd maskinvare uten bakgrunnskunnskap eller tidligere erfaring. Hva denne boka er ikke: Hvis du virkelig vil ha et nettsted, kan du bare sette opp en enkel butikk og selge det du trenger, legge ut en blogg, legge ut bilder eller videoer eller på annen måte uten å skrive en eneste kodeinje. Denne boken er ikke det. Denne boken vil lære deg hvordan du bygger programvare som er mer nyttig, fullt utUtvalgte, funksjonelle og sikre enn noen programvare du allerede kan finne, fordi den distribuerer den nyeste programvaren som fremdeles er prototyper, kan være dyrt å kjøre i en skala eldre selskaper opererer på, og appellerer ikke til baklengs, innviklede selskaper som er satt opp til Tjen penger for folk som ikke virkelig gjør noe. Hvis du følger denne boken nøye, vil du skrive kode, forskningskode, bygge dine egne apper, og du vil tjene penger på det du gjør. Jeg vil tjene penger på denne boken, selv i tidlige stadier, fordi den inneholder informasjon folk trenger og vil lese, og allerede kjøper når de kjøper eller bruker appene mine. Denne boken vil ikke bygge en app for deg, men den vil peke deg i riktig retning og bevæpne deg med verktøyene du trenger og ferdighetene og tipsene som vil lette din egen suksess med å bygge programvare for nettet, med hver linje i Kode du må skrive som et eksempel, klar til å bli samlet inn i programvare du og dine støttespillere, gjester, klientell,Riends, familie, besøkende, entreprenører og menneskene på internett ønsker å bruke og støtte. Hva du vil lære: Denne boken vil lære deg hvordan du bygger og selger programvare, virkelig funksjonell, nyttig programvare, medieopptak, sikkerhetsfunksjoner som ansiktsgjenkjenning, maskinlesbar sone strekkodeskanning, web -API -er for å autentisere, registrere og gjengi video og bilder, og utveksle meldinger som Bluetooth og nær felt (NFC) kommunikasjon. Denne boken vil lære deg hvordan du bruker en nettverksdatamaskin, med fokus på Debian Linux, hvordan du bygger bash -kode for å lage installasjon og sikkerhetskopiering av programvaren din til en sømløs, automatisert bris, hvordan du bygger Python -kode som en backend for å tjene dynamiske meldinger, stil Ting som pent bruker CSS -stiler med Bootstrap, muliggjør brukerpålogginger og interaktivitet gjennom nettverksenheter, bygg interaktive medier og nettverk med andre nettsteder for å tilby sikkerhetsfunksjoner som tekstmeldinger for verifisering eller andre formål, ID -skanning, bilde og videomoderering, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data, data.Ransaksjoner for å holde programvaren din sikker, betalingsbehandling, cryptocurrency trading, asynkrone oppgaver og mer. Du lærer hvordan du bygger dine egne Bluetooth -enheter, med batterier, ladere, mikrokontrollere, kretsløp, motorer og sensorer, ved hjelp av lodde, ledning og 3D -trykt samt støpematerialer. Jeg vil demonstrere 3D -design rektorer brukt på additiv produksjon og verktøy og dø, slik at du kan produsere dine egne innebygde, maskinvareenheter med integrerte batterier, ladere, elektroniske kretsløp og funksjonelle utganger. og nettverk dem med Bluetooth og nettet. Spesifikt vil vi undersøke to casestudier, en vibrerende massasje og et hjemmelaget skytevåpen, begge programmert i OpenSCAD, som er tilgjengelig som et grafisk grensesnitt eller kommandolinjeverktøy og kan integreres i en nett for raskere resultater. Du lærer hvordan du bygger og distribuerer et nettsted fra grunnen av uten tidligere erfaring, gjør det funksjonelt, sikkert, vakkert, nyttig og mestMPORTANTITT PRAKTISK. Du lærer hvordan du bruker maskinlæring og datamaskinvisjon for å gjøre et nettsted sikkert og mer praktisk, spille inn video og lyd fra nettstedet ditt, donere stemmen din, lage musikk og modulere lyd for å lage nyttige prøver og hvordan du kan bryte gjennom støyen i Utnytte andre nettsteder for å bygge et best mulig nettverk av nettsteder som du kan koble direkte til ditt for å dele all nyttig informasjon du har å tilby, og enda viktigere bringe folk til programvaren og virksomheten din. Denne boken vil være fokusert mest på media, sikkerhet og maskinlæring, som er de viktigste tre komponentene som vil hjelpe deg med å bygge nyttig programvare for nettet ved å engasjere de rette brukerne og koble fra de gale på en måte som er realistisk, praktisk, Hender på og engasjerende mens de også er automatisk, og solid. Denne boken lærer UNIX, spesielt Debian (Ubuntu), Bash Shell, Python, HTML, CSS, JavaScript og en rekke nyttige programvarepakker forn Like forespørsler, så vel som nyttig bash -programvare som Git og FFMPEG. Jeg vil også lære deg hvordan du kan handle cryptocurrency automatisk, og ta betalinger i cryptocurrency eller fra vanlige debetkort, mens du til og med betaler ut besøkende en andel av inntektene dine hvis du velger å gjøre det. Jeg vil lære deg hvordan du også kan tjene penger på nettstedet ditt gjennom reklame søk som mulig. Jeg vil lære deg hvordan du selger programvaren din, annonserer den, appellerer til kunder som leter etter tjenestene dine og lager et navn for deg selv på internett gjennom veier som allerede eksisterer, er rimelige og fungerer bra. Jeg vil lære deg hvordan du kan lagre dataene dine på Cloud Computers som fungerer for deg og lagre dataene dine billig, hvordan du planlegger og bygger et nettsted som gjør det brukerne dine vil ha og hva du vil, og hvordan du kan holde brukerne dine engasjert avNettstedet et trykk bort på telefonene sine med varsler, e -post, tekstmeldinger, telefonsamtaler og flere veier for å bringe brukerne dine tilbake til nettstedet ditt til din disposisjon bak klikket på en knapp sikret til deg. Denne boken vil fokusere på det praktiske ved å publisere og distribuere medier i store mengder, fra tekst til bilder til videoer til lyd, gjøre et godt inntrykk på sluttbrukere (klientellet ditt) og selge deg selv på noen måte som du gjør for å lage Et nettsted, en app som bare er representativ for deg og deg, og får deg, programvaren din og selskapet ditt til å se bra ut på best mulig måte. Du vil også lære noen tips og triks fra meg, fra kodingstips, praktisk forfengelighet som sminke og fotografering, modellering og skuespill, og mer, noe som vil være viktig for å skildre deg selv og ditt selskap i best mulig lys ved å bruke alle tilgjengelige verktøy til deg mens du distribuerer så mye innhold som du trenger på tvers av en sunn balanse av plattformer for å bringe dine å utøve uten mer krefter, arbeid eller penger enn det som er nødvendig. Denne boken kalles “Practical Web Based Deep Learning and Security By eksempel” av en grunn: den omhandler læring å kode, spesielt for nettet, spesielt med fokus på sikkerhet, fra et praktisk synspunkt, med eksempler på arbeidskode som tjener de praktiske formålene som er skissert i teksten. Læringskomponenten i denne teksten omfatter også maskinlæring, koden jeg vil vise deg hvordan du skal kjøre for nettet som vil håndtere datamaskinvisjon, ansiktsgjenkjenning, bilde- og videomoderasjon, bildeforbedring, oppløsningsforbedring, bildetekst og andre oppgaver som som oppløsning Prediksjonsmålinger hentet fra bilder, for eksempel bildet av bildet som et autentisk, datamaskinoverført bilde, eller en optisk kopi (et bilde av et bilde, eller trykt bilde). Maskinlæring er veldig viktig når det gjelder sikkerhet og programvaresikkerhet, fordi det kan forhåndsformere oppgaver som ellers var umulige. Datamaskinen dinLogg deg inn med en passord, men det kan være tryggere å bruke den hvis den logger deg inn med ansiktet. Du kan lage en serverdatamaskin til denne safe, en datamaskin som normalt vil be deg om et brukernavn og passord og logge deg inn, kanskje med en bekreftelsestoken for hver ny innlogging eller ny IP -adresse, men hvis du bygger stor skala, er det enkelt å Bruk, grunnleggende sikre og kraftig programvare, dette kan være nok. Å binde programvaren din for tett til andres programvare, som en e -posttjeneste eller tekstmeldingstjeneste, er ikke nok til å gjøre programvaren din sikker, eller noen (et hvilket som helst nettsted du bruker). Alle som bygger programvare som er upåklagelig sikker, har en viss følelse av hva dette innebærer. Programvare er iboende usikker fordi enhetene og kontoene vi bruker for å få tilgang til den ikke alltid er til disposisjon, de kan være i hendene på alle med dårlig hensikt for programvaren og kan derfor utgjøre en risiko for selve programvaren. Dette er noe av fokuset i denne boken. En nettverks datamaskin er som standardSikret med en lang nøkkeltoken, kalt og SSH eller Secure Shell -tasten, og er ellers best sikret med en webserver, fordi webserveren gir åpen tilgang så vel som topp moderne sikkerhetsverktøy som kjører på selve serveren. Webserveren har tilgang til brukerens nettleser, som uten tvil er den kraftigste delen av brukerens enhet, fordi det er stedet der brukeren kan få tilgang til nettverksprogramvare. Denne verktøysettet kan gi tekst, websidene du ser, og kan også spille inn bilder, lyd og video (som et bilde av et ansikt eller en tilstands -ID), kan lese og skrive til Bluetooth Radio -enheter, og kan lese og skrive til Near Field Transponder -tagger, rimelige nøkkelkort, fobs, klistremerker, ringer og til og med chip -implantater med unike serienumre som kan leses og skrives til med data generert og validert av en webserver bundet til nettstedet. Ved å bruke alle verktøyene du har til rådighet, vil du med denne boken utstyre deg med kunnskapen til å bygge et sikkert nettsted, og samlet sett aUre nettverks datasystem som fungerer for deg, gir budene dine og ser ut og føles riktig. Hvor du skal begynne: Du er velkommen til å hoppe forbi delen jeg begynner denne boken med, eller en hvilken som helst seksjon, til den nøyaktige koden du trenger, spesielt hvis du har erfaring med koding før eller noen av de nevnte verktøyene jeg vil beskrive i detalj i denne boken som I tillegg til å dokumentere brukssaker og praktiske eksempler på disse. Hvis du ikke har erfaring med å skrive kode, anbefaler jeg at du leser all denne boken, og anbefaler spesielt at du leser de foregående seksjonene, for å sikre at denne boken passer for deg. Hvis denne boka ikke er riktig for deg, kan du vurdere å gi den til en venn eller slektning som kan være interessert i Lærer eller andre lærere gjorde det før meg. Start hvor du vil, vil hver del av denne boken være nyttig hvis du har tenkt å bygge en nyttigPP, og vurder at de beste appene er bygget med sluttbrukeren i tankene: Kjenn kunden din. Nå kjenner du meg, du kjenner denne boken, og du er klar til å begynne. For å starte, ta en datamaskin (til og med den billigste bærbare datamaskinen fra en boksebutikk, Amazon eller et gammelt stasjonære fungerer, og sett den opp på en måte som fungerer for deg. Hvordan lese denne boken: Tekst fremhevet, betegner at teksten tilhører en ledetekst, der du vil skrive koden du kjører. Kommandoprompet er tungt tastaturfokusert og krever lite eller ingen klikking, fremskynder arbeidsflyten og gjør ting enklere for deg. Komme i gang: La oss dykke inn. Vi starter med å bygge kode på en lokal maskin og begynne uten å bygge et nettsted koblet til Internett. Dette er tryggere til å begynne med, koster ingenting og er lett for deg. Avhengig av operativsystemet ditt, vil det være litt annerledes å komme inn i et bashell. For Mac OS, anbefaler jeg å installere en virtuell maskin på dette tidspunktet, da du vil få mest kompatibilitet medVirtuell maskin. Ulike leverandører som VirtualBox og Paralells kan kjøre en virtuell maskin for deg, selv om det også er mulig å installere Ubuntu direkte på maskinen, hvis du foretrekker å bruke et innfødt miljø som anbefales for å skape en rask, strømlinjeformet opplevelse. Hvis du bruker Linux eller Windows, som jeg anbefaler, skal det være ganske enkelt å lage et prosjekt. Åpne terminalen, juster størrelsen slik du ser passet, og begynn å følge trinn 2. Hvis du bruker Windows, kan du følge trinn 1. Trinn 1: - Bare Windows -brukere I Windows, Open Command -ledeteksten som administrator og type WSL –Install Trinn 2: - Fortsett her, eller hopp over trinn 1 til her hvis du ikke bruker Windows I en åpen terminal, (avhengig av OS, kalt Ubuntu i Windows, Terminal i Mac eller Linux, eller et lignende navn), begynner du med å lage et prosjekt. Vi gjør dette med mkdir -kommandoen, som oppretter en katalog. Hvis du trenger å lage en katalog for å lagre prosjektet ditt, som anbefales, brukCD -kommando for å endre til katalogen og og og CD/PATH/TO/DIRECTORY - The Path er mappene (filene) som går foran din destinasjonskatalog, din standardbane er ~ eller/Home/Brukernavn (der brukernavn er ditt brukernavn). For å endre til standardkatalogen, skriv CD eller CD ~ mkdir eksempel - erstatt "eksempel" med navnet på katalogen Nå har du en arbeidskatalog for prosjektet ditt. Som det er så viktig å få denne katalogen lagret i tilfelle du trenger å bytte til en annen maskin eller distribuere koden du skriver, så den er klar for nettet, vil vi bygge et skript for å sikkerhetskopiere katalogen din i de neste trinnene. Men å bygge et skript tar litt kode, og kode må automatiseres for å være så nyttig som mulig. Så la oss bygge et manus for å bygge skript først. La oss starte med å lage skriptet og gjøre det kjøres. Vi bruker sudo, chmod og berøring for dette, og ringer manuset
sudo touch /usr/bin/ascript
sudo chmod a+x /usr/bin/ascript
sudo nano /usr/bin/ascript
Nå har vi laget skriptet, gjort det kjøres og er klare til å redigere det. Nano er en tekstredigerer som lar deg redigere tekst uten å klikke, noe som er mye enklere enn å bruke et grafisk brukergrensesnitt. For å redigere en fil med Nano, bruk Nano og deretter banen til filen. For å lage et skript som lager et skript, er det ganske likt å lage skriptet vårt i utgangspunktet. Vi bruker den samme koden som ovenfor, og erstatter navnet på skriptet, "Ascript" med en argumentparameter, $ 1. Dette lar oss ringe skriptet ved å skrive ganske enkelt Sudo Ascript Newscript, på hvilket tidspunkt vi kan lage et nytt skript ved å erstatte "Newscript" med navnet på skriptet ditt. Koden i Nano skal se ut:
sudo touch /usr/bin/$1
sudo chmod a+x /usr/bin/$1
sudo nano /usr/bin/$1
Og for å lukke Nano, kan vi holde ned kontrollnøkkelen og trykke X, deretter Y for å betegne at vi lagrer filen og treffer retur. I stedet for å skrive disse tre kommandoene for å redigere et skript, vil vi kunne skrive Sudo Ascript Ascript for å redigere skriptet igjen. Dette fungerer! Og ethvert nytt skript kan kjøres enkelt ved å ringe det i skallet. La oss lagre arbeidet vårt nå: La oss skrive et sikkerhetskopieringsskript for å lagre det nye skriptet vårt og deretter sikkerhetskopiere det i prosjektkatalogen vår, samtidig som vi sikkerhetskopierer backup -skriptet.
sudo ascript backup
Nå, i Nano:
sudo cp /usr/bin/backup /path/to/directory/
sudo cp /usr/bin/ascript /path/to/directory/
Hvor/bane/til/katalog er veien til prosjektet du opprettet med MKDIR. Senere vil vi lære å kopiere gjentatte stier som denne med en sløyfe og en liste, som er mindre kode, men foreløpig la oss holde det enkelt og ha noen få linjer. For å kjøre dette skriptet og sikkerhetskopiere koden din, lagre filen i Nano med kontroll+x, y og returnerer, og skriv nedenfor i skallet ditt
backup
Hvis du i det hele tatt blir bedt om et passord mens du leser denne boken og følger med i skallet, vennligst skriv inn brukerpassordet ditt riktig, vil du ha tre forsøk før du trenger å kjøre kommandoen på nytt. Du kan bruke pilene opp og ned til å kjøre kommandoer og redigere dem, hvis du trenger å kjøre noe to ganger. Enkelt trykk opp og ned av og ned for å velge en kommando, før du redigerer kommandoen med høyre, venstre piler og slett tast så vel som tastatur, og kjører den med retur.
Gratulerer! Du klarte å lage et fantastisk sikkerhetskopieringsskript som sikkerhetskopierer to viktige skallskript i arbeidskatalogen din. Vi kan flytte ting rundt senere etter hvert som prosjektet blir større, men dette fungerer for nå. La oss gå videre til sikkerhetskopiering i sky programvare når du gjør dem til en server, mensgjør det også mulig for deg å laste ned hele kopier av programvaren din bak et passord eller tast. Det er medvirkende til å lagre programvaren din, spesielt når vi migrerer til sikrede Linux -forekomster som noen ganger går i stykker når en enkelt kodelinje mislykkes, og lar deg være låst ut mens koden din kanskje ikke blir sikkerhetskopiert hvis du ikke får sjansen til å støtte den opp automatisk, som vi vil dekke.
Hvis du ikke allerede bruker en Virtual Ubuntu Virtual Machine på dette tidspunktet, anbefaler jeg å bruke en Ubuntu Virtual Machine på dette tidspunktet fordi det vil gjøre livet ditt enklere når du installerer alle pakkene som er nødvendige for å bygge et fungerende nettsted og forme dyp læring drift på datamaskinen din. Vi vil flytte koden til en webserver i nær fremtid, men vi vil sørge for at det er minst noen få lag med sikkerhet bak webserveren vår som er motstandsdyktige mot phishing, og bruker en rekke Linux -pakker for å gjøre dette. Hvis du fremdeles vil bruke Mac OS, er du velkommen til å søke etter og installereE nødvendige pakker på nettet, men det er kanskje ikke alternativer for hver pakke denne boken eller serien vil dekke.
La oss legge til noen få kommandoer for å begå vårt arbeid med sikkerhetskopieringsskriptet ved å kjøre kommandoen Sudo Ascript
# ...
git add –all
git commit -m “backup”
git push -u origin master
Nok en gang kan du kontrollere X for å lagre.
Nå må vi gjøre en engangskonfigurasjon for dette prosjektet. Fordi det snart vil være et Git -prosjekt, trenger vi ikke å skrive hver kommando hver gang vi distribuerer fra et Git -depot, men vi får tak i dette når vi skriver distribusjonsskriptene våre. For å starte, la oss sørge for at vi er i riktig katalog og initialiserer Git -depotet og genererer SSH -tastene.
cd /path/to/directory
git init
git branch -m master
ssh-keygen
Etter at vi har skrevet SSH-KeyGen, bør den nye tasten lagres i hjemmemappen under en mappe kalt .SSH. Det kalles id_rsa.pub. La oss finne denne nøkkelen og kopiere den. Å se det,
cd ~
cat .ssh/id_rsa.pub
Kopier teksten som returneres av den siste kommandoen, og opprett en konto med din GIT -leverandør (ideelt GitHub), før du legger til SSH -tasten til kontoen din. Når du har en konto, klikker du på den øverste høyre menyen og angir innstillinger, før du legger til SSH -tasten i SSH- og GPG -tastene under tilgang i menyen. Velg Legg til en SSH -tast og legg til din ved å lime den inn og gi den en tittel, før du lagrer og går tilbake til Github for å opprette et nytt depot. Dette er likt for andre GIT -leverandører, du må lese dokumentasjonen deres. I den nye depotkonfigurasjonen, gi depotet ditt et beskrivende navn og bestemme om du vil publisere det, og sørg for å konfigurere ingen filer for inkludering ennå. Når depotet er opprettet, kopierer du klonen med SSH URL, og lim den inn i følgende kommando.
git remote add git://… (your remote URL)
Nå kan du flytte tilbake til depotet ditt med CD, du vil være kjent med dette. Prøv sikkerhetskopieringsskriptet ditt nå med sikkerhetskopi
Stor! Nå kan vi virkelig få koding. La oss installere Django nå som vi har et godt grep om bash og git. Django vil la oss automatisk sikkerhetskopiere programvaren vår, Bash kan gjøre dette også, men Django bør ha en enklere tryggere implementering (den kan deaktiveres og konfigureres lettere).
For å installere programvare i Ubuntu, bruker vi Sudo Apt-Fet-kommandoen. La oss først oppdatere og oppgradere programvaren vi allerede hadde. Dette kan gjøres med sudo apt-get update og sudo apt-get oppgradering -y. Neste, la oss installere Python og vårt virtuelle miljø, hjemmet til koden vår, med følgende kommando: sudo apt-get installere python-er-python3 python3-venv
Dette er alt du trenger for å komme i gang med Django når det gjelder programvareinstallasjoner i Ubuntu -forekomsten. For Windows og Linux skal dette være ganske greit, men for Mac kan det være lurt å installere en virtuell maskin ogLinux på det ved å bruke et gratis eller betalt virtuelt miljø som VirtualBox eller Paralells Desktop og gjenskape trinnene over for å sette opp et Ubuntu -miljø. Ubuntu er kritisk i dette tilfellet fordi det er programvaren nettstedene kjører og det gjør dem i stand til å være vertskap for nettsteder med all den nevnte programvaren.
La oss grave i Django.
I katalogen vår igjen, med
python -m venv venv # Oppretter det virtuelle miljøet der kode lagres
source venv/bin/activate # Aktiverer det virtuelle miljøet
pip install Django
django-admin startproject mysite . # Hvor mysite er prosjektet jeg begynner i min nåværende katalog.
Django er bare i gang, fordi Django er vertskap for webserveren og gjør alt vi trenger for å få et grunnleggende lokalt nettsted i gang. Nå som vi har Django installert, la oss redigere innstillingene litt for å få det til å fungere hvordan vi trenger. La oss først lage en ny app
python manage.py startapp feed
Du vil merke at den første appen heter Feed. Appen skal kalles hva du vil, og vi oppretter nye apper, men navnet på hver app må være konsistent hver gang appen blir referert til i koden. For å legge til en ny app, vil vi alltid redigere innstillingene. Bruker nano,
nano app/settings.py
I innstillingene, finn installerte_apps og skill [] i 3 linjer. Bruk fire mellomrom på den tomme midtlinjen, legg til 'feed', eller navnet på appen din. Denne delen av innstillingene. Py skal se ut som:
INSTALLED_APPS = [
'feed',
]
Før vi glemmer, la oss teste at Django fungerer. Ved å bruke kommandoen python administrere.py runserver 0.0.0.0:8000, kan vi kjøre serveren og deretter navigere i en nettleser på datamaskinen som kjører koden til http: // localhost: 8000 og se et eksempel på websiden (den fungerer!) Avslutt serveren med kontroll C, den samme som alle andre kommandoer.
La oss nå grave i å skrive noen Python -kode. Django har tre hovedkomponenter, alle kjøres helt etter kode. Komponentene kalles modell, visning og mal, og hver er på henholdsvis et høyere og lavere nivå før websiden blir levert til brukeren.
Modellen er koden som lagrer informasjon i databasen for henting, sortering og gjengivelse.
Visningen bestemmer hvordan modellen blir gjengitt, manipulert og modifisert, nesten alle visninger vil bruke en modell direkte.
Malen er HTML -koden med noen ekstra bjeller og fløyter som kalles malspråk. Malen er gjengitt av visningen der den er fylt med python -kode ogKontekst som modeller og informasjon (usuall strenger og heltall) fra visningen.
Django har andre komponenter også, inkludert, men ikke begrenset til:
Innstillinger, som konfigurerer appen som vi diskuterte.
URL -er, som er mønstre som brukeren følger for å få tilgang til spesifikke deler av webapplikasjonen.
Skjemaer, som definerer hvordan informasjon som sendes til serveren håndteres og gjengis til databasen så vel som til brukeren. Dette er grunnlaget for å behandle informasjon på serversiden, og kan godta enhver form for informasjon datamaskinbutikkene, spesielt tekststrenger, tall og sanne/falske booleanere (vanligvis avkrysningsruter).
Maler, som er HTML -kode og malspråk og broer gapet mellom Python og HTML, noe som betyr at Python -informasjon kan serveres som HTML -kode som alle kan få tilgang til og kan sikre et nettsted med begrenset tilgang, samtidig som du gjør Python -koden tilgjengelig på nettet og nyttig for en rekke formål på en ekstern enhet som ikke gjør deteed for å være i nærheten av serveren.
Statiske filer, som vanligvis er JavaScript og det er biblioteker som serveren serverer og er koblet inn med malen.
Mediefiler, som serveren serverer eller er eksternt vert, eller nettopp skrevet til serveren før den blir behandlet og lagt ut til en annen server (en bøtte) for hosting.
Middleware, som er kodebiter som kjøres samtidig som alle syner og anses som "inkludert" i visningen.
Kontekstprosessorer, som behandler konteksten til hvert syn og brukes til å legge til ekstra kontekst.
Tester, som validerer at brukeren eller forespørselen vedtar visse krav før visningen er gjengitt.
Forbrukere, som dikterer hvordan websockets håndterer og reagerer på kommunikasjon.
Administrator, som brukes til å registrere modeller slik at de kan manipuleres i detalj på Django Admin -siden, der databasen kan administreres gjennom et grafisk grensesnitt.
Selleri, som definerer asynkrone oppgaver deler av Django -koden kan begynnenning før du umiddelbart fortsetter til neste oppgave eller kodelinje.
Django kan ha mange andre komponenter, som vi vil diskutere i detalj her. Det er mange måter å gjøre Django mer funksjonelle, og legge til websockets, som er raske, strømlinjeformede kommunikasjonskanaler, selleri, som utfører asynkrone oppgaver, og et mangfold av andre programvare for å utvide Django, spesielt i visningsfunksjonene, der det meste av Koden utføres. Visningsfunksjoner er nøkkelen fordi de vanligvis erklærer hvert kode som er spesifikt for et spesifikt URL -mønster, eller en del av serveren.
La oss først utforske visningsfunksjoner. Vis funksjoner begynner med import som betegner kode som vil bli brukt i visningen, og er definert ved hjelp av vanlige funksjonsdefinisjoner eller klasser. De enkleste visningene er definert av funksjonsdefinisjonen DEF, og returnerer en HttpResponse med en grunnleggende mal. La oss starte med å definere et grunnleggende visning for å returnere teksten “Hello World”. Husk at hver gang du legger tilFor en uttalelse som def, hvis du, for osv., må du legge til 4 mellomrom for hver av de foregående definisjonene du vil bruke på funksjonen din. Vi vil komme inn på hva hver av disse snart betyr.
Fra nettstedets katalog, rediger Feed/Views.py -filen ved hjelp av Nano og legg til følgende linjer til slutten av
from django.http import HttpResponse
def hello(request):
return HttpResponse('hello world')
Djangos HttpResponse svarer med en tekststreng, betegnet med åpningen og lukkingen. Hver gang du gir informasjon til en funksjon eller klasse, som forespørsel eller en streng, må du bruke parentes (, åpning og lukking).
Dette er ikke alt vi trenger for å se vårt syn ennå. Vi har selvfølgelig ikke fortalt serveren hvor visningen er nøyaktig, vi må fortsatt definere en bane som visningen skal gjengi. La oss starte med å definere en grunnleggende vei i app/urls.py, og vi kommer inn i banegrupper senere.
I app/urls.py, legg til en linje etter importuttalelsene etter at begynnelsen har importert visningen vi nettopp opprettet.
from feed import views as feed_views
La oss nå definere visningsmønsteret. Vismønstre har tre komponenter, banekomponenten, som forteller serveren hvor visningen eksisterer på serveren (URL -banen som brukeren skriver inn i navigasjonslinjen for å gå inn i websiden), visningskomponenten der visningen er spesifisert, og en Vennlig navn for visningen, så det er enkelt å hente mønsteret når du jobber med en mal, spesielt slik at navnet kan endres og oppdateres om nødvendig for å gi plass til en annen visning eller ta på seg et mer logisk navn. Det er fornuftig å gjøre ting på denne måten og være fleksibel, fordi kodebasen din vil være et stadig skiftende miljø som trenger fleksibilitet og improvisasjon for å være verdifull og enkel å jobbe med. Slik vil synet ditt se ut, du kan legge dette til UrlPatterns = [delen av appen/urls.py. Visemønsteret er definert med de tre komponentene beskrevet ovenfor, og en funksjon som kalles bane. URL -mønstrene dine er en liste, så sørg for alltid å avslutte hvert element i demmed et komma, fordi dette skiller hver enkelt. Hvert element skal også gå på en ny linje, nok en gang med fire mellomrom før den, akkurat som appen i innstillinger. Vi vil definere den første komponenten i visningen med en tom strengfunksjon, for å lage en visning som kjører på rotkatalogen til webserveren. Nettadressene dine skal nå se ut som
from feed import views as feed_views
urlpatterns = [
path('', feed_views.hello, name='hello'),
]
Dette er grunnlaget for å opprette et nettsted med Django som er helt statisk. For å lage et mer dynamisk nettsted der vi kan begynne cacheinformasjon, som bilder, videoer, lyd og mer, må vi bruke modeller, som vi vil utforske neste gang. Foreløpig, la oss sjekke koden vår og kjøre serveren. For å sjekke koden for feil, kjør: Kjør:
python manage.py check
Hvis det er noen feilmeldinger, bør du nøye gjennomgå endringene du har gjort i appen din og se om det er noe som må løses, som et eksternt eller manglende rom, en ekstra karakter, en ikke -lukkede streng, hvilken som helst skrivefeil, en hvilken som helst ved et uhell slettet karakter, eller noe annet. Les gjennom feilmeldingen (hvis du har en), bør du kunne se veien til en fil du opprettet eller redigert sammen med et linjenummer, så se på den filen og linjen og se om du kan fikse noe som er der . Hvis du har løst problemet, kjør kommandoen ovenfor igjen. Når programvaren din er klar til å kjøre og fungerer, vil du se utdataene "Systemkontroll identifiserte ingen problemer." Nå er du klar til å dra. Kjør serveren med:
python manage.py runserver 0.0.0.0:8000
Nå åpner du en nettleser og navigerer til http: // localhost: 8000. Du bør se teksten som returneres i parentesen og sitater av HttpResponse -funksjonen etter ditt syn. Dette er bare et grunnleggende eksempel, men hvis du klarte det så langt, forstår du det grunnleggende om hvordan Linux, Bash, Python og Django fungerer. La oss grave dypere i noen databasemodellering, og utforske kraften til en Python -klasse når det gjelder lagring av informasjon. Deretter vil vi begynne å få tak i HTML og CSS før vi gjør nettstedet vårt fullt omtalt, fleksibelt og sikkert ved hjelp av JavaScript og maskinlæring.
Klassene lagres i modellene. Bruk Nano, rediger app/modeller.py og legg til en ny klasse. En klasse er definert med klassedefinisjonen og sendes en superklasse som den arver fra, i dette tilfellet modeller. Modell. Navnet på klassen kommer etter klassedefinisjonen, og etter klassedefinisjonen A: (tykktarm) er brukt, før attributtene og funksjonsdefinisjonene knyttet til klassen er betegnet nedenfor. Klassen vårTrenger en ID vi kan bruke for å hente den og holde den unik, og den trenger også et tekstfelt for å lagre litt informasjon. Senere kan vi legge til en tidsstempel, filer, booleanere (sanne eller falske definisjoner som kan hjelpe koden vår med å ta beslutninger om hva vi skal gjøre med modellen, og kan brukes til å sortere den), en forekomst for å knytte modellen til en brukerlogget inn i serveren, og mer. La oss pakke ut koden
from django.db import models # Importen som brukes til å definere klassen vår og den er attributter
class Post(models.Model): # Definisjonen av klassen vår
id = models.AutoField(primary_key=True) # IDen til modellen vår, en automatisk generert nøkkel som lar oss spørre modellen, holde den unik og er nyttig når vi trenger å samhandle med modellen når den er opprettet.
text = models.TextField(default='') # Attributtet våre klassebutikker, i dette tilfellet, noen tekst, som misligholder en tom streng.
Lukk og lagre filen som vi gjorde før for å fullføre.
Det er mange andre felt og alternativer vi vil utforske når vi oppdaterer denne klassen når appen vår utvikler seg, men dette er de grunnleggende nødvendighetene ved å lage en app for å legge ut litt tekst. Imidlertid vil denne modellen ikke fungere alene. Som beskrevet tidligere, trenger vi en tilpasset visning og tilpasset URL -mønster for å få denne modellen til å fungere, og vi trenger også et skjema sammen med en mal. La oss utforske skjemaet først.
For å definere et skjema, rediger APP/Forms.py med Nano og legg til følgende linjer. Vi trenger to importer, vår skjema -klasse, så vel som modellen vi opprettet (Feed.Models.post), en klassedefinisjon som ligner på modellen, og et felt sammen med en underklasse kalt Meta som vil definere modellen formen samhandler med. Skjemaet kan også ha en initialiseringsfunksjon som setter den opp basert på informasjon i forespørselen, modellen eller på annen måte, vi vil utforske dette senere.
Modellformer er så nyttige fordi de kan lage en modell eller også redigere en modell,Så vi vil bruke dem til begge deler. La oss definere en i forms.py
from django import forms
from feed.models import Post
class PostForm(forms.ModelForm):
text = forms.CharField(widget=forms.Textarea)
class Meta:
model = Post
fields = ('text',)
Dette er det grunnleggende om hvordan en form og modell ser ut. Denne modellskjemaet kan brukes til å instantisere eller redigere et innlegg, og endre teksten den inneholder. Vi ser på å integrere dette skjemaet i en visning neste. La oss først gjøre migrasjonene og migrere databasen slik at koden vår kan samhandle med modellen når den kjører. For å gjøre dette, kjør følgende kommandoer:
python manage.py makemigrations
python manage.py migrate
Dette vil ta et øyeblikk å utføre, men når det gjør det, vil det gi deg tilgang til modellen i visningene, mellomvaren eller hvor som helst ellers i programvaren. La oss fortsette med å gjøre et syn der vi kan se modellen vår. Rediger feed/views.py og legg til følgende kode, som nevnt. Du trenger ikke å legge til noe etter # tegnet, den koden er kommentarer som brukes til å betegne informasjon om koden. Vi starter med å importere modellen vår i visningene, og legge den til en kontekst der vi kan gjengi den i en mal som en liste for visning. Deretter vil vi legge til en mal der vi kan gjengi skjemaet og modellen med en knapp for å opprette et nytt objekt basert på modellen og legge den ut på serveren. Dette høres komplisert ut, så la oss bare ta det trinn for trinn. Før vi er ferdig med visningen, la oss lage en mal som bare gjengir modellen og sørger for at vi kan se den ved å lage et nytt innlegg i skallet. Slik skal den visningen se ut:
from feed.models import Post
from django.shortcuts import render, redirect
from django.urls import reverse
def feed(request):
posts = Post.objects.all() # Spør alle innleggene i databasen så langt
return render(request, 'feed/feed.html', {
'posts': posts,
})
Alt dette ser ganske enkelt ut til vi kommer til bunns. Gjengivelse, verdien som er returnert av funksjonen i stedet for i et HTTP -svar som det forrige eksemplet, tar alltid en forespørsel som den første inngangen, godtar en kontekst (i dette tilfellet innleggene i databasen), som nå kan gjengis i malen , og returnerer malen som er definert i funksjonen. Malen kommer til å være et HTML -dokument med litt av et språk som heter Jinja2, som gjør Python -informasjon til HTML.
For å begynne å lage maler, lag to kataloger i feed.
mkdir feed/templates
mkdir feed/templates/feed
Deretter redigerer du en mal i katalogen ovenfor, feed/maler/feed, og legg til koden for dette eksemplet. La oss se på malen for dette eksemplet.
<!doctype HTML>
<html>
<body>
<legend>Feed</legend>
<hr>
{% for post in posts %}
<p>{{ post.text }}</p>
{% endfor %}
</body>
</html>
Dette er en veldig enkel mal. Den definerer åpnings- og lukking malen. Dette er alt som trengs for å gjengi innlegg, men det er ingen i databasen ennå. La oss lage noen med skallet. Vi kan kjøre skallet med Manage.py
python manage.py shell
La oss nå importere innleggsmodellen vår
from feed.models import Post
Deretter lager vi et enkelt innlegg med en streng og avslutter skallet. Strengen kan være hva som helst, så lenge det er gyldig tekst.
Post.objects.create(text='hello world')
exit()
Til slutt må vi legge til et URL -mønster i feeden vår. Fordi feed -appen vår vil bruke flere nettadresser og vi ønsker å holde filstørrelser små, la oss lage en lokal nettadresser i fôrappen vår som ser slik ut:
from django.urls import path
from . import views
urlpatterns = [
path('', views.feed, name='feed'),
]
Vi må også redigere nettadressene i basen, uansett hva vi bestemte oss for å kalle det, dette var den første katalogen vi opprettet. Rediger app/app.py og legg til følgende i URL -mønstrene
from django.urls import include # øverst
urlpatterns = [
# ... Forrige kode her
path('feed/', include(('feed.urls'), namespace='feed')),
]
Når vi kjører serveren med Python Administrer.py Runserver, vil vi se siden vi opprettet fordi vi har modell, visning og mal så vel som URL -mønster, sammen med elementer i databasen. La oss deretter implementere skjemaet vi opprettet og begynne å lage våre egne innlegg. Men før vi skriver for mye kode, la oss lage en sikkerhetskopi ved hjelp av skriptet vi skrev tidligere, sikkerhetskopiering. Kjør dette skriptet i skallet, vent noen få øyeblikk, og all koden vil bli sikkerhetskopiert til Git -depotet vårt.
backup
Å implementere skjemaet er relativt enkelt. Vi vil importere skjemaet vårt, legge til en postforespørsel til visningen og lagre innlegget i databasen før vi omdirigerer til samme visning. Vi kan bruke viderekoblingsfunksjonen vi allerede importerte, og en annen funksjon som heter Reverse for å få URL -en for visningsmønsteret. Vi spør om dette med strengen 'Feed: Feed' fordi navneområdet til det inkluderte mønsteret er fôr, og utsikten kalles også fôr.
from feed.forms import PostForm
def feed(request):
posts = Post.objects.all() # Spør alle innleggene i databasen så langt
if request.method == 'POST': # Håndtere innleggsforespørselen
form = PostForm(request.POST) # Opprett en forekomst av skjemaet og lagre dataene i det
if form.is_valid(): # Valider skjemaet
form.save() # Lagre det nye objektet
return redirect(reverse('feed:feed')) # Omdirigere til den samme URLen med en get -forespørsel
return render(request, 'feed/feed.html', {
'form': PostForm(), # Sørg for å gi skjemaet inn i konteksten slik at vi kan gjengi den.
'posts': posts,
})
Nå må vi oppdatere malen for å gjøre rede for det nye skjemaet. Vi kan gjøre dette ved å bruke
https://glamgirlx.com/no/practical-web-based-deep
https://glamgirlx.com/no/practical-web-based-deep -
Gi meg et tips i Bitcoin ved å bruke denne adressen: 3KhDWoSve2N627RiW8grj6XrsoPT7d6qyE
© Glam Girl X 2025