Izindaba - Vakashela Isayithi
Ezintathu eziyishumi nantathu - umdlalo wekhadi online Dlala ezintathu eziyishumi nantathu nomngani ngokuchofoza isixhumanisi esingezansi ukukhiqiza ikhodi yesimemo noma ujoyine umdlalo.Mema ngekhodi Joyina umdlalo *Tyr
Thenga ukuqhubeka

nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency



Dlala umbala Sudoku Online - Free ColorOku umdlalo Lokhu kukhululekile ukudlala umbala Sudoku (Colordoku) umdlalo. *Tyr

nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Ukufundwa okujulile kwewebhu okujulile nokuphepha ngesibonelo Isiqondisi Esithathu UCharlotte Harper Julayi 3, 2024 Isandulela: Ukucatshangelwa Kwezokuphepha ekwakheni isoftware yewebhu kuyingxenye ebalulekile yanoma yiliphi uhlelo lonjiniyela weWeb kanye nokwenzayo ngenkathi ubunjiniyela obuhle obunokwethenjelwa, lube wusizo ngezinhloso ezisebenzayo. I-Dom (dokhumenti yento markup), ngokuqalisa kwe-HTML, iJavaScript, kanye ne-CSS kanye ne-SexTend Software esebenzisa inkululeko, nikeza nokusebenzisa kalula kanye nezinsizakalo ezibalulekile zonke ezikhangayo ku-Joe, Umsebenzisi wokugcina ofuna ukubulala isikhathi noma ukwenza okuthile okwenziwe kwi-Intanethi, imvamisa kudivayisi ye-smartphone yokuthinta. Abantu abaningi bebengeke bazi ukuthi kufanele baqale kuphi lapho bafuna ukwakha iwebhusayithi kusuka ekuqaleni, bonaingabe ivame ukuqala ngewebhusayithi yomunye umuntu futhi yakha okuthile okulinganiselwe ekusebenzeni, ukuncipha, ukusetshenziswa kalula futhi ikakhulukazi ukuchitha isikhathi lapho bebenawo imali ebizayo ngaphandle kokuchitha isikhathi sabo abambalwa abafuna ukusetshenziswa kalula kokusebenzisa kalula nokuvumelana nezimo. Uma unemizuzu embalwa yokufunda ngale ncwadi futhi ufunde ukuthi yini engifuna ukukufundisa yona, noma ngize ngikhulume nami ngezinjongo zakho, futhi ngigqugquzelwe ukuthi ngifundele ukubhala futhi ngibeke iwebhusayithi yakho, ibeke iwebhusayithi enikufunayo futhi ihlangabezana nezidingo zabalaleli bakho. Mayelana nami: Ngingumthuthukisi wesoftware onobubanziUmuzwa we-F ku-C / C ++, Java, Python, HTML, CSS kanye neJavaScript. Ngakha amawebhusayithi abantu abafuna ukusebenzisa, abafuna ukuvakasha, futhi bathole umlutha wokusebenzisa nje ukufunda, ukuphinda uphinde uphinde ufunde, ukuphinda futhi ubulale isikhathi, futhi okubaluleke kakhulu, ngithengisa isoftware. Ukube ubunomqondo wokuthi ubufuna kanjani iwebhusayithi ukuthi ubukeke futhi usebenze, ubukade ungisekela ukuze ngikwazi ukubhekana nezidingo zami, futhi ngizimisele ukuhlanganisa i-YouTube, iTiktok, i-Twitter, noma uhlelo lokusebenza lokuphepha oluphezulu kuphela ongaluthola. Esikhundleni sokuzama ukukuthengisa isikhathi sami, ngizama ukuthenga kwakho: ngifuna ukukhuluma nawe ngokwakha uhlelo lokusebenza (iwebhusayithi) ngokwakho ngolwazi oluvele lukhona, futhi lukufundise lokho okudingeka kube ngumthuthukisi wesoftware ozimele, osomabhizinisi, oholele umsebenzi ophumelelayo kunoma iyiphi insimu oyifisayo. Futhi ake ngicace, imfundo ngikunikeza ukuthi izohleleka. Ungaya esikoleni futhi ufunde konke lokhu ngokusemthethweniI-Ducation, noma ifunde le ncwadi esikoleni, iqedele izabelo zakho, bese ususa kakhulu imfundo yakho, kepha angikubekise esihlalweni esishisayo futhi ngikucele ukuthi ugcwalise izabelo. Angisiye uprofesa wakho, ungacabanga ngami njengomngane ofuna ukukuqondisa emsebenzini oqhutshwa yimpumelelo yakho. Futhi angikuthengise impumelelo noma, uzodinga ukuyithenga nesikhathi sakho. Ukufunda kwikhodi kune-curve yokufunda ijika futhi akukaze kube lula, noma kufanele kube. Udinga ukusebenza kanzima ngangokunokwenzeka futhi uqhubeke nokuzama futhi wehluleke futhi uzame futhi lapho ukhungathekile ukuze ufunde futhi wakhe izinhlelo zokusebenza ngokwakho. Lokho kungokwemvelo yekhodi uqobo. Ikhodi iqhutshwa ngumhlanganisi owenzelwe ukunikeza imiyalezo yephutha ye-Programmer, futhi lokhu kuzokufundisa ukuthi ungayibonisa kanjani ikhodi, noma ngabe ukukopisha iphutha kwi-Injini yakho yokusesha nokufunda izibonelo zabanye abantu. Futhi kufanele ngithi, awudingi ukuba ucebe kakhulu, uhlakaniphile, uphumelele, nomaimininingwane ethambekele noma ihlelwe ukwakha uhlelo lokusebenza. Ikhompyutha iyakunakekela leyo nhlangano. Udinga nje ukukhuthazela ngesivivinyo nephutha, gcina ukugxila futhi usebenze kanzima kulokho okwenzayo, futhi uzoba nomsebenzi ophumelele kakhulu kulo lonke wenzani. Ngingubani: Ngiyabona ukuthi isigaba sokugcina sasisemayelana nokufunda futhi uthathe izindlela ezivela kule ncwadi. Ngingubani ngempela? Lowo ngumbuzo oyinkimbinkimbi. Angikacaci ukuthi ngokwami, njengoba ngihlushwa izimo zezokwelapha ezingenza kube nzima ngami ukuthi ngize ngibhale noma ngibhale le ncwadi ngezinye izikhathi, ngenkathi ngiveza izinselelo zokuhlalisana nobunikazi ezenza impilo yami ibe nzima ngokwengeziwe maqondana nokwethula. Ngamafuphi, uma ufunda le ncwadi, ulethe ekhaya ngoba ulibutheke ngalo futhi wacabanga ukuthi bekulusizo, noma uma nje ufunda lokhu okude, noma ngabe ufunda lokhu okunengqondo okufunwa nakho konke okwenzayo. Ngingunjiniyela uqobo, isoftwareU-ELOROROU, kanye nomfundi, futhi ngibhala le ncwadi kwabanye abafundi abafuna ukwenza izimpilo zabo zibe lula ngokuba nencwajana yesoftware abayidingayo ekwenzeni izibonelo zokuba zifanelwe izibonelo ezisebenzayo ngokuhambisana nokuhlangana, nohlelo lokusebenza olusebenzayo olungakwazi ukushayela impumelelo noma ngabe umugqa webhizinisi. Kakhulu, yilokhu engikwenzayo: Ngakha izinhlelo zokusebenza ukuze ngizisize mina nabanye abantu baphumelele. Ngingumbhali futhi, yize le yincwadi yami yokuqala engihlose ukuyigcwalisa ukuze ngibeke iphothifoliyo yami ibe yincwadi ewusizo, futhi ngingumculi futhi. Ngizokuvuma lokhu kuwe, ngingumuntu ongaziwa. Angiphelele, sengiphelile ngomthetho ngisho nokungiholela ngisho ngishiya amakolishi kanye namanyuvesi futhi ngishiye izifundazwe ukuze ngizame ukuzenzela igama ngempumelelo. Ngingowesifazane ngokuzalwa, ngigqoka izimonyo, thatha izithombe zami, gqoka izingubo nezinye izingubo zabesifazane, futhi ngihlala ngizazi ngowesifazaneature. Ngibe nezinkinga nabanye abantu esikhathini esedlule esiholela ezimpini ngokubhala nokwakha iWebApps, futhi ngiyaxolisa ukuthi angikwazi ukuthola le ncwadi ezandleni kungekudala: Uyakudinga lokhu. Uzofuna ukufunda nokubhala ikhodi ebukeka efana neyami futhi isebenze njengeyami futhi yenza into efanayo kepha ingcono, ngoba uma ukwazi ukuthenga incwadi yakho esikhundleni sokuthi ngenze incwadzi yakho enjengezinsizakusebenza ngokubuza imali yakho. Nginazo zonke izinhlobo zezingqinamba ngokukhula komndeni, izimo zezempilo, odokotela, abezindaba, kanye nomthetho, futhi ikhodi yami ibonakala ngokujulile umzabalazo onobuntu besifazane nowesifazane emhlabeni ohlukene futhi okhungathekile. Kodwa-ke, le ncwadi yinto engiyikhathalela ngokujulile, ingane yami, iphothifoliyo yami, kanye nendlela yami yokuphila, ngakho-ke ngiyabonga ukucubungula kwakho lapho uthatha umbhalo wayo ukuze ufunde kimi. Sicela ugcine engqondweni angiphelele, lokhuU-Ook uzoba namaphutha, ukubuyekeza, kanye nezinhlelo ezintsha, futhi uzodinga ukucabanga ngengqondo yakho enengqondo ngangokunokwenzeka ukuze ube nesipiliyoni esiphumelelayo ngokubhala kwami. Futhi, qonda ukuthi ngiqonde kahle ngawe noma ngabe ubhekana nezinselelo lapho ubhala. Cabanga ngakho kanjena: Lapho ungavele uqashe uhlelo lwekhompyutha ukuze wenze noma yini ongayicabanga endaweni yedijithali, gcina lonke ulwazi ohlangabezana nalo, ulihlele, uzobhekana nobunzima obungenakuphikwa. Ngikutshela lokhu ngoba ngihlangabezana nobunzima obufanayo. Sebenzisa le ncwadi ngengozi yakho, sebenza nomphakathi wakho kanye nemiphakathi etholakalayo kuwe ukwakha isoftware ngaphakathi kwesilungiselelo esiphephile, futhi ungakutholi nale umbhalo futhi usize uphumelele ngaphandle kokuphambuka endleleni yobuhlanya eshiya amaqabunga aqabuleka endleleni yokuhlanya okushiya amaqabunga aqabuleka endleleni yokuhlanya okushiya amaqabunga aqabuleka endleleni yokuhlanya okushiya amaqabunga aphuma endleleni yokuhlanya okushiya amaqabunga aphuma kuwoU-uined, waklebhuka futhi waphampula ngenkathi ngihlangabezana nezinkinga ezijwayelekile wonke umuntu enza emhlabeni wonke ngenxa yesilinganiso se-Global Global Scale yenethiwekhi esizosebenza kuyo, i-Intanethi. Kungenzeka ungajwayelani kakhulu ukuthi ngingubani ngamazwi ambalwa, kodwa ngikukhuthaza ukuthi ufunde, uzokwazi njengoba uqhubeka nokufunda nokungiqonda imisebenzi yakho ukuze uqedele umsebenzi wakho. Ngeke kube nomsebenzi wesikole ngale ncwadi, inqobo nje uma oprofesa noma othisha bakho abangakukukhulisanga, kepha ngikukhuthaza kakhulu ukuthi wakhe iphothifoliyo yamaphrojekthi ngokwakho njengoba ufunda, kanye nephrojekthi ye-capstone ekhombisa ukuthi ungakusebenzisa kanjani lokho okufundile. Iphrojekthi yami ye-Capstone isisekelo salokho obekufundwa yile ncwadi, njengoba kufaka ikhodi kumaphrojekthi ami wangaphambilini, ikhodi engiyenzile futhi ngifunde ukubhala nge-APP lapho engikwazi khona ngokugcweleA-ARED futhi ebukeka futhi aziphathe njengohlelo lokusebenza oludumile ungabona umngani wakho noma umndeni usebenzisa, kwi-Intanethi, wakukhangiswa kuwe, noma ezindabeni. Le ncwadi yile: Le ncwadi iyisifundo ngesibonelo. Ungathola ikhodi lapha, imiyalo yokuthi ungafunda kanjani ikhodi, imininingwane ngekhodi ye-debugging kanye namaphutha akho, ubeke ikhodi yakho, futhi ungakufakazela, futhi ungayiveza kanjani, futhi ungayiveza kanjani, kanye ne-app yakho Isoftware owakhela ekukhanyiseni okuhle kakhulu ukuze ube ekhangayo kakhulu ngangokunokwenzeka kubasebenzisi bakho bokugcina, izivakashi zewebhusayithi yakho. Kule ncwadi, ngizokhombisa izibonelo eziningi zokwakheka kwesoftware ngokugxila kuwebhu njengeplatifomu kanye nokuphepha. Sizoqala okuhlangenwe nakho kokufunda ngokwakha iphrojekthi eyisisekeloIgobolondo le-UNIX, ngesipele nezici zokubhala. Ngemuva kwalokho, sizohlola iwebhusayithi ye-Blog eyisisekelo, sithuthukise ibhulogi yethu ngezithombe nezithombe zevidiyo futhi sisebenzisa lezi zici ukuqasha izixazululo zokuphepha zisebenzisa i-software yamahhala, futhi sivikele iseva yethu isebenzisa imodyuli yokufakazela i-pluggable (Pam). Sizobe sesibukeza ukuphathwa kwefayela nokucutshungulwa, ukuhlola ukuhlelwa kwevidiyo, ukunikela ngezwi, ukuskena ibhakhodi yokuskena kanye nokuqashelwa kwezinhlamvu ze-Optical, phakathi kweminye imiqondo. Endleleni sizohlola i-APIS ezosisiza ukuba senze isoftware yethu ibe lusizo futhi iphephe, ngezindlela zamahhala nezikhokhelwayo. Endleleni, sizohlola ukuphepha ngokomzimba kanye namathuluz...
Ukufunda Okujulile Okusekelwe Kuwebhu Nokuvikeleka Ngokwesibonelo

Ukufundwa okujulile kwewebhu okujulile nokuphepha ngesibonelo Isiqondisi Esithathu UCharlotte Harper Julayi 3, 2024 Isandulela: Ukucatshangelwa Kwezokuphepha ekwakheni isoftware yewebhu kuyingxenye ebalulekile yanoma yiliphi uhlelo lonjiniyela weWeb kanye nokwenzayo ngenkathi ubunjiniyela obuhle obunokwethenjelwa, lube wusizo ngezinhloso ezisebenzayo. I-Dom (dokhumenti yento markup), ngokuqalisa kwe-HTML, iJavaScript, kanye ne-CSS kanye ne-SexTend Software esebenzisa inkululeko, nikeza nokusebenzisa kalula kanye nezinsizakalo ezibalulekile zonke ezikhangayo ku-Joe, Umsebenzisi wokugcina ofuna ukubulala isikhathi noma ukwenza okuthile okwenziwe kwi-Intanethi, imvamisa kudivayisi ye-smartphone yokuthinta. Abantu abaningi bebengeke bazi ukuthi kufanele baqale kuphi lapho bafuna ukwakha iwebhusayithi kusukaScratch, bazothambekela ukuqala ngewebhusayithi yomunye umuntu futhi bakha okuthile okulinganiselwe ekusebenzeni, ngokwethenjwa, ukusetshenziswa kalula ikakhulukazi lapho bebenawo lapho bebezokwazisa khona ukuthi bambalwa abantu abaningi abafuna ukusetshenziswa kalula nokuvumelana nezimo. Uma unemizuzu embalwa yokufunda ngale ncwadi futhi ufunde ukuthi yini engifuna ukukufundisa yona, noma ngize ngikhulume nami ngezinjongo zakho, futhi ngigqugquzelwe ukuthi ngifundele ukubhala futhi ngibeke iwebhusayithi yakho, ibeke iwebhusayithi enikufunayo futhi ihlangabezana nezidingo zabalaleli bakho. Mayelana nami: Ngingumthuthukisi wesoftware nayeUhla lokuhlangenwe nakho ku-C / C ++, Java, Python, HTML, CSS kanye neJavaScript. Ngakha amawebhusayithi abantu abafuna ukusebenzisa, abafuna ukuvakasha, futhi bathole umlutha wokusebenzisa nje ukufunda, ukuphinda uphinde uphinde ufunde, ukuphinda futhi ubulale isikhathi, futhi okubaluleke kakhulu, ngithengisa isoftware. Ukube ubunomqondo wokuthi ubufuna kanjani iwebhusayithi ukuthi ubukeke futhi usebenze, ubukade ungisekela ukuze ngikwazi ukubhekana nezidingo zami, futhi ngizimisele ukuhlanganisa i-YouTube, iTiktok, i-Twitter, noma uhlelo lokusebenza lokuphepha oluphezulu kuphela ongaluthola. Esikhundleni sokuzama ukukuthengisa isikhathi sami, ngizama ukuthenga kwakho: ngifuna ukukhuluma nawe ngokwakha uhlelo lokusebenza (iwebhusayithi) ngokwakho ngolwazi oluvele lukhona, futhi lukufundise lokho okudingeka kube ngumthuthukisi wesoftware ozimele, osomabhizinisi, oholele umsebenzi ophumelelayo kunoma iyiphi insimu oyifisayo. Futhi ake ngicace, imfundo ngikunikeza ukuthi izohleleka. Ungaya esikoleni futhi ufunde konke lokhu ngeImfundo ehlelekile, noma ifunde le ncwadi esikoleni, iqedele izabelo zakho, bese ususa kakhulu imfundo yakho, kepha angikubekise esihlalweni esishisayo futhi ngikucele ukuthi ugcwalise izabelo. Angisiye uprofesa wakho, ungacabanga ngami njengomngane ofuna ukukuqondisa emsebenzini oqhutshwa yimpumelelo yakho. Futhi angikuthengise impumelelo noma, uzodinga ukuyithenga nesikhathi sakho. Ukufunda kwikhodi kune-curve yokufunda ijika futhi akukaze kube lula, noma kufanele kube. Udinga ukusebenza kanzima ngangokunokwenzeka futhi uqhubeke nokuzama futhi wehluleke futhi uzame futhi lapho ukhungathekile ukuze ufunde futhi wakhe izinhlelo zokusebenza ngokwakho. Lokho kungokwemvelo yekhodi uqobo. Ikhodi iqhutshwa ngumhlanganisi owenzelwe ukunikeza imiyalezo yephutha ye-Programmer, futhi lokhu kuzokufundisa ukuthi ungayibonisa kanjani ikhodi, noma ngabe ukukopisha iphutha kwi-Injini yakho yokusesha nokufunda izibonelo zabanye abantu. Futhi kufanele ngithi, awudingi ukuba ucebe kakhulu, uhlakaniphile,Ukuthambekela okuthe xaxa, noma okuqondiswe imininingwane noma okuhlelekile ukwakha uhlelo lokusebenza. Ikhompyutha iyakunakekela leyo nhlangano. Udinga nje ukukhuthazela ngesivivinyo nephutha, gcina ukugxila futhi usebenze kanzima kulokho okwenzayo, futhi uzoba nomsebenzi ophumelele kakhulu kulo lonke wenzani. Ngingubani: Ngiyabona ukuthi isigaba sokugcina sasisemayelana nokufunda futhi uthathe izindlela ezivela kule ncwadi. Ngingubani ngempela? Lowo ngumbuzo oyinkimbinkimbi. Angikacaci ukuthi ngokwami, njengoba ngihlushwa izimo zezokwelapha ezingenza kube nzima ngami ukuthi ngize ngibhale noma ngibhale le ncwadi ngezinye izikhathi, ngenkathi ngiveza izinselelo zokuhlalisana nobunikazi ezenza impilo yami ibe nzima ngokwengeziwe maqondana nokwethula. Ngamafuphi, uma ufunda le ncwadi, ulethe ekhaya ngoba ulibutheke ngalo futhi wacabanga ukuthi bekulusizo, noma uma nje ufunda lokhu okude, noma ngabe ufunda lokhu okunengqondo okufunwa nakho konke okwenzayo. Ngingunjiniyela uqobo,Unjiniyela, kanye nomfundi, futhi ngibhala le ncwadi yabanye abafundi abafuna ukwenza izimpilo zabo zibe lula ngokuba nencwajana yesoftware abayidingayo ekwenzeni izibonelo ezisebenzayo ngokuhambisana kanye nohlelo lokusebenza olusebenzayo, futhi olusebenzayo olungakwazi ukushayela impumelelo noma ngabe umugqa webhizinisi. Kakhulu, yilokhu engikwenzayo: Ngakha izinhlelo zokusebenza ukuze ngizisize mina nabanye abantu baphumelele. Ngingumbhali futhi, yize le yincwadi yami yokuqala engihlose ukuyigcwalisa ukuze ngibeke iphothifoliyo yami ibe yincwadi ewusizo, futhi ngingumculi futhi. Ngizokuvuma lokhu kuwe, ngingumuntu ongaziwa. Angiphelele, sengiphelile ngomthetho ngisho nokungiholela ngisho ngishiya amakolishi kanye namanyuvesi futhi ngishiye izifundazwe ukuze ngizame ukuzenzela igama ngempumelelo. Ngingowesifazane ngokuzalwa, ngigqoka izimonyo, thatha izithombe zami, ngigqoke izingubo kanye nezinye izingubo zabesifazane, futhi ngihlala ngizazi ukuthiOwesifazane ngokwemvelo. Ngibe nezinkinga nabanye abantu esikhathini esedlule esiholela ezimpini ngokubhala nokwakha iWebApps, futhi ngiyaxolisa ukuthi angikwazi ukuthola le ncwadi ezandleni kungekudala: Uyakudinga lokhu. Uzofuna ukufunda nokubhala ikhodi ebukeka efana neyami futhi isebenze njengeyami futhi yenza into efanayo kepha ingcono, ngoba uma ukwazi ukuthenga incwadi yakho esikhundleni sokuthi ngenze incwadzi yakho enjengezinsizakusebenza ngokubuza imali yakho. Nginazo zonke izinhlobo zezingqinamba ngokukhula komndeni, izimo zezempilo, odokotela, abezindaba, kanye nomthetho, futhi ikhodi yami ibonakala ngokujulile umzabalazo onobuntu besifazane nowesifazane emhlabeni ohlukene futhi okhungathekile. Kodwa-ke, le ncwadi yinto engiyikhathalela ngokujulile, ingane yami, iphothifoliyo yami, kanye nendlela yami yokuphila, ngakho-ke ngiyabonga ukucubungula kwakho lapho uthatha umbhalo wayo ukuze ufunde kimi. Sicela ugcine engqondweni angisiyeEct, le ncwadi izoba namaphutha, izibuyekezo, kanye nezinhlelo ezintsha, futhi uzodinga ukucabanga ngengqondo yakho enengqondo ngangokunokwenzeka ukuze ube nesipiliyoni esiphumelelayo ngokubhala kwami. Futhi, qonda ukuthi ngiqonde kahle ngawe noma ngabe ubhekana nezinselelo lapho ubhala. Cabanga ngakho kanjena: Lapho ungavele uqashe uhlelo lwekhompyutha ukuze wenze noma yini ongayicabanga endaweni yedijithali, gcina lonke ulwazi ohlangabezana nalo, ulihlele, uzobhekana nobunzima obungenakuphikwa. Ngikutshela lokhu ngoba ngihlangabezana nobunzima obufanayo. Sebenzisa le ncwadi ngengozi yakho, sebenza nomphakathi wakho kanye nemiphakathi etholakala kuwe ukwakha isoftware ngaphakathi kwesilungiselelo esiphephile, futhi ungakutholi nale nto yakho lapho wehluleka khona, futhi kungani ngikulethela le nto, futhi kungani ngikusiza ukuthi uphumelele ngaphandle kokuphambuka endleleni yobuhlanyaUngonakalisiwe, wadabula futhi waphampula ngenkathi ngihlangabezana nezinkinga ezijwayelekile wonke umuntu owenzayo emhlabeni wonke ngenxa yesilinganiso se-Global Scale esisebandlululo senethiwekhi esizosebenza kuyo, i-Intanethi. Kungenzeka ungajwayelani kakhulu ukuthi ngingubani ngamazwi ambalwa, kodwa ngikukhuthaza ukuthi ufunde, uzokwazi njengoba uqhubeka nokufunda nokungiqonda imisebenzi yakho ukuze uqedele umsebenzi wakho. Ngeke kube nomsebenzi wesikole ngale ncwadi, inqobo nje uma oprofesa noma othisha bakho abangakukukhulisanga, kepha ngikukhuthaza kakhulu ukuthi wakhe iphothifoliyo yamaphrojekthi ngokwakho njengoba ufunda, kanye nephrojekthi ye-capstone ekhombisa ukuthi ungakusebenzisa kanjani lokho okufundile. Iphrojekthi yami ye-Capstone isisekelo salokho obekufundwa yile ncwadi, njengoba kufaka ikhodi kumaphrojekthi ami wangaphambilini, ikhodi engiyenzile futhi yangisiza ukuphumelela kuhlelo lokusebenza olulula ukuthiKufakwe ngokugcwele futhi kubukeka futhi ziphatha njengohlelo lokusebenza oludumile ungabona umngani wakho noma umndeni usebenzisa, kwi-Intanethi, kukhangise wena, noma ezindabeni. Le ncwadi yile: Le ncwadi iyisifundo ngesibonelo. Ungathola ikhodi lapha, imiyalo yokuthi ungafunda kanjani ikhodi, imininingwane ngekhodi ye-debugging kanye namaphutha akho, ubeke ikhodi yakho, futhi ungakufakazela, futhi ungayiveza kanjani, futhi ungayiveza kanjani, kanye ne-app yakho Isoftware owakhela ekukhanyiseni okuhle kakhulu ukuze ube ekhangayo kakhulu ngangokunokwenzeka kubasebenzisi bakho bokugcina, izivakashi zewebhusayithi yakho. Kule ncwadi, ngizokhombisa izibonelo eziningi zokwakheka kwesoftware ngokugxila kuwebhu njengeplatifomu kanye nokuphepha. Sizoqala okuhlangenwe nakho kokufunda ngokwakha okuyisisekeloFaka i-gell ye-UNIX, ngesipele nezici zokubhala. Ngemuva kwalokho, sizohlola iwebhusayithi ye-Blog eyisisekelo, sithuthukise ibhulogi yethu ngezithombe nezithombe zevidiyo futhi sisebenzisa lezi zici ukuqasha izixazululo zokuphepha zisebenzisa i-software yamahhala, futhi sivikele iseva yethu isebenzisa imodyuli yokufakazela i-pluggable (Pam). Sizobe sesibukeza ukuphathwa kwefayela nokucutshungulwa, ukuhlola ukuhlelwa kwevidiyo, ukunikela ngezwi, ukuskena ibhakhodi yokuskena kanye nokuqashelwa kwezinhlamvu ze-Optical, phakathi kweminye imiqondo. Endleleni sizohlola i-APIS ezosisiza ukuba senze isoftware yethu ibe lusizo futhi iphephe, ngezindlela zamahhala nezikhokhelwayo. Endleleni, sizohlola ukuphepha ngokomzimba kanye namathuluzi asemzimbeni anjengezibhamu kanye nokuklanywa kwemikhiqizo efaka i-barrel and turret kanye ne-drone Sizothatha ikhefu lapho eyakha imidlalo, 2D ne-3DIzinjini ezinikelayo, futhi zisebenze ngehadiwe eshumekiwe uma kwenzeka zifunda izibonelo zesoftware yokunikeza ubukhulu kanye ne-massager ye-electronic evuthayo ye-silicone Rubber ngokulandelana. Endleleni, sizosebenzisa futhi izixazululo zokufunda zomshini sezivele zitholakala ukuze zivikeleke kangcono isoftware yethu. Sizophinde futhi sisebenzise amathuluzi wesitoko atholakalayo kwiWebhu ukuze aqondise futhi avikele inqubo. Le ncwadi iyinkomba empumelelweni yakho ekwakheni uhlelo lwewebhu futhi iluhlanganise nenethiwekhi yobuchwepheshe yezinhlelo zekhompyutha kanye nezinhlelo zokwakha ezishumekiwe, futhi yonke imihlahlandlela yokwakha i-software ne-Hardware yangasemuva engenalo ulwazi lwangemuva noma isipiliyoni sangemuva. LOKHO AKUKHO: Uma ngempela ufuna ukuba newebhusayithi, ungavele usethe isitolo esilula futhi uthengise okudingayo, thumela i-blog, izithombe noma amavidiyo, noma ngenye indlela ngaphandle kokubhala umugqa owodwa wekhodi. Le ncwadi akuyona lokho. Le ncwadi izokufundisa ukuthi ungakha kanjani isoftware ewusizo kakhulu, ngokugcweleKufakwe, kuyasebenza futhi kuvikelekile kunanoma iyiphi isoftware ongayithola, ngoba isebenzisa isoftware yakamuva ekhombisa ukuthi izinkampani ezindala ezikhulile zisebenza, futhi azidlulisele ezinkampanini ezikhona, futhi azidlulisele ezinkampanini ezikhulile zisebenza, futhi azithandeki ukwenza imali engenzi imali engenzi lutho. Uma ulandela le ncwadi eduze, uzofuna ukubhala ikhodi, ikhodi yocwaningo, wakhe izinhlelo zakho zokusebenza, futhi uzokwenza imali kulokho okwenzayo. Ngizokwenza imali kule ncwadi, ngisho nasezigabeni zokuqala, ngoba iqukethe imininingwane abantu abayidingayo futhi bafuna ukuyifunda, futhi isivele ithenga lapho bethenga noma besebenzisa izinhlelo zami zokusebenza. Le ncwadi ngeke yakha uhlelo lokusebenza kuwe, kepha izokukhomba indlela efanele bese uhlomela ngamathuluzi owadingayo kanye namakhono wekhodi uzodinga ukubhekisisa ukuze uthole isoftware wena nabasekeli bakho, izivakashi, amakhasimende,Ama-Riends, umndeni, izivakashi, osonkontileka, futhi abantu be-Intanethi bafuna ukusebenzisa nokuxhasa. Ozofunda: Le ncwadi izokufundisa ukuthi ungakha futhi uthengise kanjani isoftware, isebenza ngempela, i-software ewusizo, ukuqoshwa kwezokuphepha kwebhakhodi, ukuqopha ukuxhumana kanye nezithombe, kanye nokushintshana kwe-Bluetooth (NFC). Le ncwadi izokufundisa ukuthi ungayisebenzisa kanjani ikhompyutha enethiwekhi, ugxile ku-Debian Linux, ukuthi ungakha kanjani ikhodi ye-Bash ukwenza i-PSS engenamthungo, ukuxhumanisa imidiya yenethiwekhi, ukuxhumanisa ama-Pys. Ukuqinisekiswa noma ezinye izinhloso, ukuskena kwe-ID, isithombe kanye nokulinganiselwa kwevidiyo, idathaAma-Ransection ukugcina isoftware yakho iphephile, ukucubungula inkokhelo, ukuhweba nge-cryptocurlous, imisebenzi ye-asynchronous, nokuningi. Uzofunda ukuthi ungawakha kanjani owakho amadivaysi e-Bluetooth, ngamabhethri, amashaja, ama-microcoController, amasekethe, ama-motor kanye nezinzwa, usebenzisa i-soler, ucingo kanye ne-3D ephrintiwe kanye nezinto zokwakha. Ngizokhombisa othishanhloko be-3D Design basetshenziswa ekukhiqizeni okungeziwe nethuluzi nokufa kwenziwa, ngakho-ke uyakwazi ukwenza owakho amadivaysi ashumekile, ama-charger, amasekethe we-elekthronikhi, nokuphuma okusebenzayo. Futhi uxhumane nabo nge-Bluetooth nakuwebhu. Ngokuqondile, sizohlola izifundo ezimbili zamacala, i-massager evubsayo kanye nesibhamu esizenziwe ekhaya, zombili zihlelwe e-OpenScad, ezitholakala njengesibonakaliso sokuqhafaza noma i-Command Line Utility futhi ingahlanganiswa kwiWebhu yemiphumela esheshayo. Uzofunda ukuthi ungakha futhi ubeke kanjani iwebhusayithi kusuka emhlabathini up ngaphandle kokuhlangenwe nakho kwangaphambilini, kwenze kube yinto esebenzayo, evikelekile, enhle, ewusizo futhi iningiesebenza ngokusebenza. Uzofunda ukuthi ungayisebenzisa kanjani ukufunda ngomshini kanye nombono wekhompyutha ukwenza isayithi livikelekile futhi lisebenze kakhulu, thwesa ividiyo nomsindo nge-audios yakho ukuze unikeze onke imininingwane ewusizo ongayisebenzisa, futhi okubaluleke kakhulu ukuletha abantu kwisoftware yakho kanye nebhizinisi. Le ncwadi izogxila kakhulu kwabezindaba, ezokuphepha kanye nokufunda komshini, okuyingxenye emithathu emithathu ezokusiza ekwakheni i-software ewusizo yewebhu ngokufaka amaqiniso ngendlela enengqondo, engokoqobo, izandla nokuzibandakanya ngenkathi i-automatic. Le ncwadi ifundisa i-Unix, ngokukhethekile i-Debian (Ubuntu), i-Bash Shell, Python, HTML, CSS, JavaScript, kanye namaphakeji esoftware asebenzayon njengezicelo, kanye nesoftware ewusizo ye-bash efana ne-git ne-ffmpeg. Ngizokufundisa nokuthi ungathengisa kanjani i-cryptocurrencyction ngokuzenzakalelayo, futhi ngikhokha nge-cryptocurrencyn noma kusuka kumakhadi wedebithi ajwayelekile ngenkathi ukhokha ngisho nezivakashi zakho isabelo semali engenayo uma ukhetha ukwenza kanjalo. Ngizokufundisa ukuthi ungayenza kanjani imali kuwebhusayithi yakho ngokusebenzisa ukukhangisa futhi, ukuthi ungalulungisa kanjani uhlelo lwakho lokusebenza lwezinjini zokucinga futhi ulenze ngokushesha, zibekwe ezingeni lokuqala elizosesha ukukuthola, futhi zibekwe ekusesheni okuningi okuvamile ngangokunokwenzeka. Ngizokufundisa ukuthi ungayithengisa kanjani isoftware yakho, ngikhangise, ukhange kumakhasimende afuna izinsizakalo zakho, futhi wazimele kwi-Intanethi nge-Avenues ezivele zikhona, azibizi futhi zisebenza kahle. Ngizokufundisa ukuthi ungayigcina kanjani idatha yakho kumakhompiyutha e-Cloud asebenzela wena futhi ugcine idatha yakho eshibhile, kanjani ukuhlela iwebhusayithi eyenza lokho okufunayo, nokuthi yini ongayisebenzisa ngayoukufaka isayithi lakho empompini kude nezingcingo zabo ngezaziso, i-imeyili, imiyalezo, izingcingo, kanye nezingcingo eziningi ukuletha abasebenzisi bakho kuwebhusayithi yakho ngemuva kokuchofoza kwakho kuphela. Le ncwadi izogxila ekusebenzeni kokushicilelwa kanye nokusabalalisa abezindaba ngamanani amakhulu, kusukela ku-Petric To Photings kuya kumavidiyo aya kuma-audio, wena lokusebenza omele wena kanye nawe kuphela, futhi kwenza, isoftware yakho nenkampani yakho ibukeka kahle ngendlela engcono kakhulu. Uzofunda namathiphu ambalwa namaqhinga avela kimi, kusuka kumathiphu wokufaka amakhodi, okusebenzayo okufana nokwenza izimonyo nezithombe, okuzobaluleka ngokuziveza ngokwakho amathuluzi atholakele kuwo wonke amapulatifomu okuletha akhoe ekulweni nomzamo, umsebenzi, noma imali kunalokho okudingekayo. Le ncwadi ibizwa ngokuthi "ukuphepha okujulile kwewebhu ngokuphepha ngesibonelo" ngesizathu: Iphatha ngokufunda i-Code, ngokukhethekile nge-Web Poice, kusuka ekumeni okusebenzayo, ngezibonelo zekhodi yokusebenza esebenza ngezinhloso ezisebenzayo ezichazwe embhalweni. Ingxenye yokufunda yalo mbhalo ifaka futhi ukufundwa komshini, ikhodi ngizokukhombisa ukuthi kufanele ngisebenze kanjani i-web ezophatha i-computer metricle Ukufundwa komshini kubaluleke kakhulu uma kukhulunywa ngokuphepha kwewebhu kanye nokuphepha kwesoftware, ngoba kungadla imisebenzi ebingenzeka ngenye indlela. Ikhompyutha yakhoNgena ngemvume ngekhodi yephasi, kepha kungenzeka kube iphephe ukuyisebenzisa uma ingena ngemvume ngobuso bakho. Ungenza ikhompyutha yeseva lokhu kuphephile, ikhompyutha evame ukukubuza ngegama lomsebenzisi nephasikhodi bese lingena kulo, mhlawumbe nesoftware eqinisekisiwe, okulula ukuyisebenzisa, lokhu kungahle kube ngokwanele. Ukubopha isoftware yakho eduze kakhulu kwisoftware yomunye umuntu, njengensizakalo ye-imeyili noma insiza yemiyalezo yombhalo, akwanele ukwenza isoftware yakho iphephe, noma noma ngubani (noma iyiphi indawo oyisebenzisayo). Noma ngubani owakha isoftware evikelekile ngokungenangqondo inomqondo othile wokuthi lokhu kusho ukuthini. Isoftware ingavikelekile ngokwemvelo ngoba amadivaysi nama-akhawunti esiwasebenzisayo ukufinyelela kuwo awahlali onawo, angaba sezandleni zomunye umuntu onenhloso embi yesoftware uqobo. Lokhu kuyinto yokugxila kwale ncwadi. Ikhompyutha enethiwekhi ngokuzenzakalelayoIvikelwe ngethokheni ende ende, ebizwa nge-SSH noma i-SSH noma i-SSH SHELT Key, futhi itholakala kangcono ngeseva yewebhu, ngoba iseva yeWebhu ihlinzeka ukufinyelela okuvulekile kanye namathuluzi okuphepha abuciko asebenza kwiseva uqobo. Iseva yeWebhu inokufinyelela kwisiphequluli sewebhu somsebenzisi, okuyingxenye enamandla kakhulu yedivayisi yomsebenzisi, ngoba yindawo lapho umsebenzisi angafinyelela khona isoftware enethiwekhi. Leli thuluzi lamathuluzi lingahambisa umbhalo, futhi lingarekhoda izithombe, umsindo kanye nevidiyo (njengesithombe sobuso noma amakhadi asemkhakheni angemuva kwedatha enezinombolo ze-syrial ezihlukile futhi eziqinisekiswe yiseva yeWebhu eboshwe kwiWebhu. Usebenzisa wonke amathuluzi onawo, ngale ncwadi uzozihlomisa ngolwazi lokwakha iwebhusayithi ephephile, futhi jikelele aUhlelo lwekhompyutha lwenethiwekhi olusebenzela wena, luyakubhidliza, futhi lubukeka futhi luzwa kahle. Ukuqala kuphi: Wamukelekile ukweqa isigaba ngiqale le ncwadi nge, noma yisiphi isigaba, kwikhodi ngqo oyidingayo, ikakhulukazi uma unesipiliyoni sokufaka amakhodi ngaphambi noma ngamakhodi okusetshenziswa kanye nezibonelo ezisebenzayo. Uma ungenazo isipiliyoni kwikhodi yokubhala, ngincoma kakhulu ukuthi ufunde yonke le ncwadi, futhi ikakhulukazi incoma ukuthi ufunde izigaba ezedlule, ukuze uqiniseke ukuthi le ncwadi ilungile kuwe. Uma le ncwadi ilungekela wena, cabanga ngokuwuphokela kumngane noma isihlobo esingaba nesifiso sokufunda ngentuthuko yeWebhu uqobo, futhi sicabange ukuboleka emuva futhi sikufunda kubo ukugcwalisa izikhala lapho ngikwehlule khona uma uthisha, noma abanye othisha behluleka phambi kwami. Qala lapho uzothanda khona, yonke ingxenye yale ncwadi izoba wusizo uma uhlose ukwakha i-UlutyI-PP, bese ubheka ukuthi izinhlelo zokusebenza ezinhle kakhulu zakhiwe ngomsebenzisi wokugcina engqondweni: Yazi ikhasimende lakho. Manje uyangazi, uyayazi le ncwadi, futhi usukulungele ukuqala. Ukuqala, bamba ikhompyutha (ngisho ne-laptop eshibhile kunazo zonke esitolo sebhokisi, i-Amazon, noma ideskithophu yakudala iyasebenza, bese uyibeka ngendlela esebenza kuwe. Ungayifunda kanjani le ncwadi: Umbhalo uqokonyiswe, usho ukuthi lo mbhalo ungowokuqala komyalo, lapho uzobhala khona ikhodi oyigijimayo. Umyalo wokukhuthaza ikhibhodi enkulu egxile futhi kudinga okuncane ukuthi kungabikho ngokuchofoza, ukusheshisa ukuhamba kwakho kokusebenza nokwenza izinto zibe lula kuwe. Ukuqalisa: Masingene ngaphakathi. Sizoqala ngokwakha ikhodi emshinini wendawo futhi siqale ngaphandle kokwakha iwebhusayithi exhunywe kwi-Intanethi. Lokhu kuphephile ukuqala nge, kubiza lutho, futhi kulula kuwe. Ngokuya ngohlelo lwakho lokusebenza, ukungena egobolondweni le-bash kuzohluka kancane. NgeMac OS, ngincoma ukufaka umshini obonakalayo ngalesi sikhathi, ngoba uzothola ukuhambisana okuningiumshini obonakalayo. Abahlinzeki abahlukahlukene njenge-Virtualbox kanye nama-Cagerolls angagijimisa umshini obonakalayo kuwe, yize kungenzeka futhi ukufaka ubuntu ngqo emshinini okunconywayo ukuze kunconywe okusheshayo, okuhlangenwe nakho okusheshayo. Uma usebenzisa i-Linux noma iWindows, engincoma, kufanele kube lula ukudala iphrojekthi. Vula i-terminal yakho, lungisa ukulinganisa njengoba ubona kufanelekile, bese uqala ukulandela igxathu 2. Uma usebenzisa iWindows, sicela ulandele Isinyathelo 1. Isinyathelo 1: - Abasebenzisi beWindows kuphela Ku-Windows, i-Open Command Prompt esheshayo njengomphathi kanye nohlobo I-WSL -install Isinyathelo 2: - Qhubeka lapha, noma weqa isinyathelo 1 kuya lapha uma ungasebenzisi iWindows Esigungwini esivulekile, (kuya nge-OS yakho, ebizwa nge-Ubuntu kuWindows, e-terminal eMac noma iLinux, noma igama elifanayo), liqala ngokwakha iphrojekthi. Lokhu sikwenza ngomyalo weMKDIR, odala umkhombandlela. Uma udinga ukudala umkhombandlela wokugcina iphrojekthi yakho, enconyelwe, sebenzisaI-CD umyalo wokushintsha kwisikhombi futhi I-CD / PATT / TO / TO / TOCRECY - Indlela ingamafolda (amafayela) andulela umkhombandlela wakho wendawo, indlela yakho ezenzakalelayo yi- ~ noma / ikhaya / igama lomsebenzisi (lapho igama lomsebenzisi lingegama lakho lomsebenzisi). Ukushintshela kwisikhombi esizenzakalelayo, thayipha i-CD noma i-CD ~ Isibonelo seMKDIR - buyisela "Isibonelo" ngegama lesiqondisi Manje unesikhombi esisebenzayo sephrojekthi yakho. Ukuba njengoba kubaluleke kakhulu ukuthi lolu hlelo lugcinwe uma kwenzeka udinga ukushintshela kumshini ohlukile noma ukuthumela ikhodi oyibhala ngakho-ke isilungele i-Web, sizokwakha umbhalo ukuze silwele umkhombandlela wakho ezitebhisini ezimbalwa ezizayo. Kepha ukwakha umbhalo kuthatha ikhodi encane, futhi ikhodi idinga ukuthi isebenze ngokuzenzakalela ibe lusizo ngangokunokwenzeka. Ngakho-ke ake sakhe iskripthi sokwakha imibhalo kuqala. Ake siqale ngokudala iskripthi futhi siyenze. Sizosebenzisa i-sudo, Chmod futhi sithinte lokhu, bese ushayela umbhalo


sudo touch /usr/bin/ascript
sudo chmod a+x /usr/bin/ascript
sudo nano /usr/bin/ascript
Manje sesidale iskripthi, senze kwavela, futhi sekulungile ukuyihlela. I-NANO ingumhleli wombhalo ozokuvumela ukuthi uhlele umbhalo ngaphandle kokuchofoza, okulula kakhulu kunokusebenzisa isikhombimsebenzisi somsebenzisi. Ukuhlela ifayela nge-nano, sebenzisa i-nano bese indlela eya kwifayela. Ukwenza iskripthi esenza iskripthi, kufana nendlela efanele ekwenzeni umbhalo wethu kwasekuqaleni. Sizosebenzisa ikhodi efanayo nangaphezulu, sifaka esikhundleni segama leskripthi, "I-Ecryript" ngepharamitha yokuphikisana, $ 1. Lokhu kusivumela ukuba sibize umbhalo ngokuthayipha nje i-sudo redo Breadcript, lapho singakha noma yimuphi umbhalo omusha ngokufaka esikhundleni esithi "Breadcript" negama leskripthi sakho. Ikhodi e-Nano kufanele ibukeke:

sudo touch /usr/bin/$1
sudo chmod a+x /usr/bin/$1
sudo nano /usr/bin/$1
Futhi ukuvala i-nano, singabamba ukhiye wokulawula bese sicindezela u-X, bese u-Y ukuchaza esindisa ifayela, bese ushaya ukubuya. Manje esikhundleni sokuthayipha le miyalo emithathu ukuhlela iskripthi, sizokwazi ukuthayipha i-Sudow Brecript ukuhlela iskripthi. Lokhu kuyasebenza! Futhi noma yimuphi umbhalo omusha ungaqhutshwa kalula ngokuwushayela egobolondweni. Masilondoloze umsebenzi wethu manje: Bhala umbhalo wesipele ukuze usindise umbhalo wethu omusha bese ubuyela emuva kusikhombisi sethu sephrojekthi, ngenkathi bese ubeka umbhalo we-backup.

sudo ascript backup
Manje, eNano:

sudo cp /usr/bin/backup /path/to/directory/
sudo cp /usr/bin/ascript /path/to/directory/
Lapho / Indlela / ku-Directory kuyindlela eya kuphrojekthi oyidalile ngeMKDIR. Kamuva kuso sizofunda ukuthi singakopisha kanjani izindlela eziphindwayo ezinje nge-loop kanye nohlu, okuyikhodi encane, kepha okwamanje masiyigcine ilula futhi ibe nemigqa embalwa. Ukuze usebenzise lo mbhalo bese uhlela kabusha ikhodi yakho, gcina ifayela eNano nge-control + x, y bese ubuya, bese uthayipha okungezansi kugobolondo lakho

backup
Uma ugqugquzelwa yi-password ngenkathi ufunda le ncwadi futhi ulandela egobolondweni, sicela ufake iphasiwedi yakho yomsebenzisi ngokufanele, uzoba nomzamo ezintathu ngaphambi kokudinga ukugijima kabusha umyalo. Ungasebenzisa imicibisholo ephezulu naphansi ukuyokwazi ukuhlela imiyalo bese uhlela, uma kufanele udinge ukusebenzisa noma yini kabili. Cindezela up up up futhi phansi ngezikhathi ezithile ukukhetha umyalo, ngaphambi kokuhlela umyalo ngesokunene, imicibisholo yangakwesobunxele bese ususa ukhiye kanye nekhibhodi, bese uyisebenzisa ngokubuya. Siyakuhalalisela! Ukwazile ukudala umbhalo owesabekayo wesipele obeka imibhalo emibili ebalulekile ye-Shell kwisikhombi sakho esisebenzayo. Singase sihambisa izinto kamuva njengoba iphrojekthi iba nkulu, kepha lokhu kuyasebenza manje. Ake siqhubeke sibheke efwini, sizosebenzisa i-GitHub yalokhu (yize kunezisombululo eziningi ze-git zesipele, zonke ziseduze okufanayo.) I-GIT yi-software yokulawula okukuvumela ukuba ubuyise ukuhlelwa kwakho kwakho isoftware njengoba uwenza kwiseva, kuyilaphoFuthi ukunika amandla okukwazi ukulanda wonke amakhophi wesoftware yakho ngemuva kwephasiwedi noma ukhiye. Kubangelwa ukonga isoftware yakho, ikakhulukazi njengoba sithuthela ezimweni ezivikelekile ze-Linux eziphule kwesinye isikhathi lapho umugqa owodwa we-code wehluleka, ushiya ukhiye uma ungatholi ithuba lokuyisekela phezulu ngokuzenzakalelayo, esizomboza. Uma ungekho vele usebenzisa umshini we-Ubuntu Virtualter kuleli phuzu, ngiphinda ngisebenzise umshini we-Ubuntu Virtualter kuleli phuzu ngoba kuzokwenza impilo yakho ibe lula lapho ufaka wonke amaphakheji adingekayo ukuze wakhe iwebhusayithi esebenzayo kanye nokufunda okujulile ukusebenza kukhompyutha yakho. Sizohambisa ikhodi kwiseva yeWebhu kungekudala, kepha sifuna ukuqiniseka ukuthi kunezendlalelo ezimbalwa zokuphepha ngemuva kweseva yethu yeWebhu ezimelana nobugebengu, futhi ziqashe amaphakheji e-Linux ukuze akwenze Lokhu. Uma usafuna ukusebenzisa iMac OS, wamukelekile ukusesha nokufakaAmaphakeji adingekayo ku-inthanethi, kepha kungenzeka angabi ezinye izindlela zayo yonke iphakheji le ncwadi noma uchungechunge oluzosibekela. Masingeze imiyalo embalwa yokwenza umsebenzi wethu nge-Isipele Isipele ngokusebenzisa umyalo we-Sudo Script
# ...
Nakulokhu futhi, lawula u-X ukuze ulondoloze. Manje kudingeka senze ukucushwa kwesikhathi esisodwa sale phrojekthi. Ngoba kungekudala kuzoba yiphrojekthi ye-git, asidingi ukuthayipha yonke imiyalo ngaso sonke isikhathi lapho sisuka endaweni yokugcina izinto, kepha sizothola i-hanges yalokhu lapho sibhala imibhalo yethu yokuthumela. Ukuze uqale, ake siqinisekise ukuthi sisesikhombi esifanele futhi siqale indawo yokugcina i-git futhi sikhiqize okhiye be-SSH.

cd /path/to/directory
git init
git branch -m master
ssh-keygen
Ngemuva kokuthayipha i-SHSH-keygen, ukhiye omusha kufanele ugcinwe kwifolda yasekhaya ngaphansi kwefolda ebizwa nge-.ssh. Ibizwa nge-ID_RSA.PUB. Ake sithole le nkinobho bese sikopisha. Ukuyibona,

cd ~
cat .ssh/id_rsa.pub
Kopisha umbhalo obuyiselwe umyalo wokugcina, bese udala i-akhawunti nomhlinzeki wakho we-git (kahle github), ngaphambi kokungeza ukhiye we-SSH kwi-akhawunti yakho. Uma usune-akhawunti, chofoza imenyu ephezulu kwesokudla bese ufaka amasethingi, ngaphambi kokungeza ukhiye wakho we-SSH ku-SSH ne-GPG Keys ngaphansi kwemenyu. Khetha Faka ukhiye we-SSH bese ungeza eyakho ngokunamathisela futhi uyinikeze isihloko, ngaphambi kokonga futhi ubuyele ku-GitHub ukudala indawo entsha. Lokhu kuyafana nabanye abahlinzeki be-git, kuzodingeka ufunde imibhalo yabo. Ekuhlelweni okusha kokubeka kabusha, nikeza indawo yakho igama elichazayo bese unquma ukuthi uyafuna ukuyishicilela, futhi uqiniseke ukulungiselela amafayela okufakwa okwamanje. Lapho sekukhishwe indawo yokugcina impahla, kopisha i-Clone nge-SSH URL, bese uyinamathisela kumyalo olandelayo.

git remote add git://… (your remote URL)
Manje usungabuyela emuva kwindawo yakho yokubeka nge-CD, uzokwazi lokhu. Zama umbhalo wakho wesipele manje ngesipele Kuhle! Manje singathola ukufaka amakhodi ngempela. Ase sifake i-Django manje ukuthi sikubambe kahle ku-bash ne-git. I-Django izosivumela ngokuzenzakalelayo isoftware yethu, i-bash ingenza lokhu kodwa i-Django kufanele ibe nokuqaliswa okuphephile okulula (kungakhubazeka futhi kulungiselelwe kalula). Ukufaka isoftware e-Ubuntu, sizosebenzisa umyalo we-Sudo Apt-Get. Okokuqala, ake sivuselele futhi sithuthukise isoftware esasinayo. Lokhu kungenziwa nge-Sudo Apt-Thola Ukuvuselelwa kanye ne-Sudo Apt-Thola ukuthuthuka- Okulandelayo, ake sifake i-Python nemvelo yethu ebonakalayo, ikhaya lekhodi yethu, ngomyalo olandelayo: I-Sudo Apt-Get Faka Python-is-venv Lokhu konke okudingayo ukuze uhambe nge-DJango ngokuya ngokufakwa kwesoftware kwisibonelo sobuntu. Ku-Windows neLinux Lokhu kufanele kube ngqo ngqo, kepha nge-Mac ungafuna ukufaka umshini obonakalayo futhiI-Linux kuyo usebenzisa imvelo yamahhala noma ekhokhwayo ebonakalayo efana ne-Virtualbox noma i-Cagerolls Desktop bese uphinda izinyathelo ezingenhla ukuze usethe imvelo yobuntu. Ubuntu bubalulekile kulokhu ngoba yisoftware amawebhusayithi asebenza futhi abenze bakwazi ukusingatha amawebhusayithi ngayo yonke le software eshiwo ngenhla. Ake simbele ku-Django. Kwisikhombi sethu futhi futhi, nge
python -m venv venv # Kwakha imvelo ebonakalayo lapho ikhodi igcinwa khona
source venv/bin/activate # Kusebenze indawo ebonakalayo
django-admin startproject mysite . # Lapho i-MySite iphrojekthi engiqala khona kwisikhombi sami samanje.
I-Django isisenza nje siqale, ngoba i-DJango ibambe iseva yeWebhu futhi yenza konke esikudingayo ukuthola iwebhusayithi eyisisekelo yendawo phezulu nokusebenza. Manje njengoba sesifakwe i-Django, ake sihlele amasethingi kancane ukuze sikwenze kube yindlela esidinga ngayo. Okokuqala, ake sakhe uhlelo lokusebenza olusha

python manage.py startapp feed
Uzobona uhlelo lokusebenza lokuqala libizwa ngokuthi okuphakelayo. Uhlelo lokusebenza kufanele lubizwa noma yini oyithandayo, futhi sizokwakha izinhlelo zokusebenza ezintsha, kepha igama lohlelo lokusebenza ngalunye kufanele liguquguquke isikhathi ngasinye lapho uhlelo lokusebenza lubhekiselwe kwikhodi. Ukwengeza uhlelo lokusebenza olusha, sizohlala sihlela izilungiselelo.Phy Kokunye uhlelo lokusebenza okwenziwe, okuthiwa ku-StartProject, Aleafter App. Usebenzisa i-nano,

nano app/settings.py
Kuzilungiselelo, thola ufakiwe_apps bese uhlukanisa [] emigqeni emi-3. Kusetshenziswa izikhala ezine kulayini wesikhungo esingenalutho, engeza 'Okuphakelayo', noma igama lohlelo lwakho lokusebenza. Lesi sigaba sezilungiselelo.Phalo kufanele zibukeke:

INSTALLED_APPS = [
    'feed',
]
Ngaphambi kokuthi sikhohlwe, ake sihlole ukuthi i-Django iyasebenza. Usebenzisa umyalo we-python ukuphatha.py RunServer 0.0.0.0:8000, singakwazi ukuqhuba iseva bese sihamba esipheqululini seWebhu kwikhompyutha sisebenzisa ikhodi ku-HTTP: //) Yeka iseva ngokulawula c, okufanayo nanoma yimuphi omunye umyalo. Manje, ake sikubhale ukubhala ikhodi ethile yePython. I-Django inezinto ezintathu eziphambili, zonke zisebenza ngekhodi ngokuphelele. Izakhi zibizwa ngokuthi imodeli, ukubukwa kanye nethempulethi, futhi ngalinye lisezingeni eliphakeme neliphansi ngokulandelana ngaphambi kokuba ikhasi lewebhu lihanjiswa kumsebenzisi. Imodeli yikhodi egcina imininingwane kwi-database ukuze ibuyiselwe, ukuhlungwa nokuhunyushwa. Umbono unquma ukuthi imodeli ihunyushwa kanjani, yatholwa futhi yaguqulwa, cishe yonke imibono izosebenzisa imodeli ngqo. I-template iyikhodi ye-HTML enezinsimbi ezingeziwe kanye namakhwela abizwa ngokuthi ulimi lwesifanekiso. Ithempulethi ihunyushwa ngokubuka lapho igcwele ikhodi yePython futhiumongo njengamamodeli nolwazi (izintambo ezisetshenziswayo kanye nezinombolo) kusuka ekubukweni. I-Django inezinye izingxenye nayo, kufaka phakathi kepha ingagcini ku: Izilungiselelo, ezilungiselela uhlelo lokusebenza njengoba sixoxile. Ama-URLs, angamaphethini umsebenzisi alandela ukuthola ukufinyelela ezingxenyeni ezithile zohlelo lwewebhu. Amafomu, achaza ukuthi imininingwane ethunyelwe kanjani kwiseva isingathwa futhi yanikezwa ku-database kanye nomsebenzisi. Lezi ziyisisekelo sokucutshungulwa kolwazi ohlangothini lweseva, futhi angemukele noma yiluphi uhlobo lolwazi izitolo zekhompyutha, izintambo ezithenjezelwe kakhulu, izinombolo, kanye nama-booleans eqiniso (ama-Checks). Izifanekiso, okuyikhodi ye-html kanye nolimi lwe-html kanye ne-template yolimi bese uvala igebe phakathi kwePython ne-HTML, imininingwane ye-Python ingafakwa njengekhodi ye-hyml etholakala nge-web ekhawulelwe, ilusizo ngezinhloso ezahlukahlukene kudivayisi eyihlane engeyenau-eed ukuze abe eduze kweseva. Amafayela a-Static, ajwayele ukugcwala kwe-javascript futhi imitapo yolwazi lapho iseva isebenza futhi ixhumeke ngethempulethi. Amafayela wemidiya, lapho iseva esebenza noma aphethwe ngaphandle, noma abhalelwe nje kuseva ngaphambi kokucutshungulwa futhi athunyelwa kwenye iseva (ibhakede) yokusingathwa. I-Middleware, okuyizingcezu zekhodi eziqhutshwa ngasikhathi sinye njengokubukwa konke futhi kubhekwa "kufakiwe" ekubukeni. Ama-processor womongo, acubungula umongo wokubuka ngakunye futhi asetshenziselwa ukwengeza umongo owengeziwe. Izivivinyo, eziqinisekisa ukuthi umsebenzisi noma isicelo zidlulisela izidingo ezithile ngaphambi kokuba kunikezwe umbono. Abathengi, ababeka ukuthi amawebhusayithi aphatha kanjani futhi aphendule ekuxhumaneni. Admin, esetshenziselwa ukubhalisa amamodeli ukuze akhohliswe ngokuningiliziwe ekhasini le-Django Admin, lapho i-database ingalawulwa khona ngesimo esibonakalayo. UCelery, ochaza izingxenye zemisebenzi ye-asynchronous zekhodi ye-Django zingaqalanning ngaphambi kokuya emsebenzini olandelayo noma umugqa wekhodi. I-Django ingaba nezinye izinto eziningi, esizoxoxa ngemininingwane lapha. Kunezindlela eziningi zokwenza i-DJango zisebenze ngokwengeziwe, engeza ama-websockets, asheshayo, iziteshi zokuxhumana ezihle kakhulu, nenqwaba yezinye izingcezu zesoftware zokunweba imali, ikakhulukazi emisebenzini yokubuka, lapho iningi lemisebenzi Ikhodi yenziwa. Imisebenzi yokubuka ibalulekile ngoba imvamisa imemezela yonke ingxenye yekhodi eqondene nephethini ethile ye-URL, noma ingxenye yeseva. Okokuqala, ake sihlole imisebenzi yokubuka. Imisebenzi yokubuka iqala ngokungenisa ikhodi okubonisayo okuzosetshenziswa ekubukeni, futhi kuchazwa kusetshenziswa izincazelo zomsebenzi ezijwayelekile noma amakilasi. Imibono elula kunazo zonke ichazwa yi-def yencazelo yomsebenzi, bese ubuyisela i-httpresponse ngethempulethi eyisisekelo. Ake siqale ngokuchaza umbono oyisisekelo wokubuyisa umbhalo "Sawubona World". Khumbula ukuthi isikhathi ngasinye lapho ufakaFter isitatimende esinjenge-def, uma, ngenkathi, ngoba, njll, uzodinga ukwengeza izikhala ezi-4 zencazelo ngayinye evelele ongathanda ukuyisebenzisa emsebenzini wakho. Sizongena kulokho ngakunye kwalezi kungekudala. Ukusuka kwisikhombi sendawo yethu, hlela okuphakelayo / ukubukwa.py.py ifayela usebenzisa i-nano bese wengeza imigqa elandelayo kuze kube sekupheleni kwe

from django.http import HttpResponse

def hello(request):
    return HttpResponse('hello world')
I-Django's Httprespense iyaphendula ngentambo yombhalo, ebonisiwe ngokuvula nokuvala '. Njalo lapho udlulisa imininingwane emsebenzini noma ekilasini, njengesicelo noma ngentambo, uzodinga ukusebenzisa umzali (ukuvula nokuvala). Lokhu akusikho konke esikudingayo ukubona ukubuka kwethu okwamanje. Vele, asikaze sitshele iseva lapho umbono ulapho ngqo, kusadingeka sichaze indlela lapho umbono okufanele ulunikeze khona. Ake siqale ngokuchaza indlela eyisisekelo kuhlelo lokusebenza / ama-URL.Phy, futhi sizongena emaqenjini emindeni ngokuhamba kwesikhathi. Kuhlelo lokusebenza / ama-URLS.PY, engeza umugqa ngemuva kwezitatimende zokungenisa ngemuva kokuqala ukungenisa ukubuka esisanda kudalwa.

from feed import views as feed_views
Manje, ake sichaze iphethini yokubuka. Amaphethini wokubuka anezakhi ezintathu, ingxenye yendlela, etshela iseva lapho ukubukwa khona khona ngaphakathi kweseva (indlela ye-URL eyayingenayo umsebenzisi kubha yewebhu), ingxenye yokubuka lapho umbono uchaziwe khona, futhi a Igama elinobungane lombono ngakho-ke kulula ukuyithola kabusha iphethini ye-IT lapho usebenza ngethempulethi, ikakhulukazi ngakho-ke igama lingashintshwa futhi livuselelwa uma kunesidingo ukwenza isikhala sokubukwa noma sithathe igama elithile. Kunengqondo ukwenza izinto ngale ndlela futhi uvumelana nezimo, ngoba ikhodi yakho yekhodi izoba yindawo eshintshayo edinga ukuguquguquka nokuthuthuka ukuze kube lula futhi kube lula ukusebenza nakho. Nakhu ukuthi ukubukwa kwakho kuzobukeka kanjani, ungangeza lokhu ku-URLPATTRS = [isigaba sohlelo lokusebenza / ama-URL.Phs.Phy. Iphethini yokubuka ichazwa ngezakhi ezintathu ezichazwe ngenhla, kanye nomsebenzi obizwa nge-Path. Amaphethini akho e-URL uhlu, ngakho-ke qiniseka ukuthi uhlala uqeda into ngayinye kuzongekhefana, ngoba lokhu kuhlukanisa ngamunye. Into ngayinye kufanele futhi iqhubeke nomugqa omusha, futhi kanye nezikhala ezine ngaphambi kwayo, njengohlelo lokusebenza kuzilungiselelo.Phy. Sizochaza ingxenye yokuqala yombono ngomsebenzi ongenalutho, ukuze kwakhiwe umbono oqhuba umkhombandlela wezimpande weseva yewebhu. Ama-urls akho.PY kufanele manje abukeke

from feed import views as feed_views

urlpatterns = [
    path('', feed_views.hello, name='hello'),
]
Lesi yisisekelo sokwenza iwebhusayithi nge-Django e-static ngokuphelele. Ukuze wenze iwebhusayithi eshukumisayo lapho singaqala khona imininingwane yokulondolozwa, njengezithombe, amavidiyo, umsindo nokuningi, sizodinga ukusebenzisa amamodeli, esizohlola ngokulandelayo. Okwamanje, ake sihlole ikhodi yethu bese sisebenzisa iseva. Ukuhlola ikhodi yamaphutha, run:

python manage.py check
Uma kuneminye imilayezo yephutha, kufanele ubuyekeze ngokucophelela izinguquko ozenzile kuhlelo lwakho lokusebenza futhi ubone ukuthi ngabe kukhona yini okudinga ukulungiswa, njengesikhala esengeziwe, umlingiswa owengeziwe, noma iyiphi i-typo, noma iyiphi i-typo, noma iyiphi i-typo, noma iyiphi i-typo, noma yikuphi ngengozi umlingiswa osusiwe, noma yini enye. Ukufundwa ngomlayezo wephutha (uma unayo), kufanele ukwazi ukubona indlela eya kwifayela olidalile noma elihlelwe kanye nenombolo yomugqa, ngakho-ke bheka lelo fayela nomugqa futhi ubone ukuthi yini ekhona . Uma usuyilungisile inkinga, gijima umyalo ongenhla futhi. Lapho isoftware yakho isilungele ukugijima futhi iyasebenza, uzobona okuphumayo "Ukuhlola kohlelo akukhonjwanga zingqinamba." Manje usukulungele ukuhamba. Gijimisa iseva nge:

python manage.py runserver 0.0.0.0:8000
Manje vula isiphequluli sewebhu futhi uzulazule ku-HTTP: // I-Localhost: 8000. Kufanele ubone umbhalo ubuya kubazali kanye nezingcaphuno zomsebenzi we-HTTPresponse ekubukeni kwakho. Lesi yisibonelo esiyisisekelo nje, kepha uma ukwenze lokhu kude, uyakuqonda izisekelo ze-linux, bash, uPython, nomsebenzi we-Django. Ake sigaye sijule ukuze sifinyelele kuma-modeli athile wedatha, futhi uhlole amandla ekilasi lePython ekugcinweni kwemininingwane. Ngemuva kwalokho, sizoqala ukuthola ukubamba ku-HTML kanye ne-CSS ngaphambi kokuthi isayithi lethu lihleleke ngokuphelele, liguquguquke futhi livikeleke lisebenzisa iJavaScript kanye nokufunda komshini. Amakilasi agcinwe kumamodeli.py ohlelo lwakho lokusebenza. Usebenzisa i-Nano, hlela uhlelo lokusebenza / amamodeli.Spy bese wengeza isigaba esisha. Isigaba sichazwa nencazelo yekilasi futhi sidlulisela i-superclass ukuthi ifa kusuka kulo, kuleli cala amamodeli.Model. Igama lekilasi liza ngemuva kwencazelo yekilasi, nangemva kokuchazwa kwekilasi A: (IColon) iyasetshenziswa, ngaphambi kwezimfanelo nezincazelo zomsebenzi eziboshwe ekilasini ziboshwe ngezansi. Ikilasi LethuIdinga i-ID esingayisebenzisa ukuyibuyisa futhi siyigcine ihlukile, futhi idinga nenkambu yombhalo ukugcina imininingwane ethile. Kamuva kuqhubeke singangeza isikhathi, amafayela, ama-booleans (izincazelo zeqiniso noma ezingamanga ezingasiza ikhodi yethu ukuthi zenze izinqumo ngalokho okufanele zikwenze ngemodeli, futhi kungasetshenziselwa ukubopha imodeli kumsebenzisi ungene ngemvume kwiseva, nokuningi. Ake siyeke ikhodi
from django.db import models # Ukungenisa okusetshenziselwa ukuchaza ikilasi lethu futhi kunezimfanelo zethu
class Post(models.Model): # Incazelo yekilasi lethu uqobo
    id = models.AutoField(primary_key=True) # I-ID yemodeli yethu, ukhiye okhiqizwa ngokuzenzakalelayo ozosivumela ukuba sibuze imodeli, sigcine ihlukile, futhi ilusizo lapho sidinga ukuxhumana nemodeli uma seliwe.
    text = models.TextField(default='') # Izimfanelo zekilasi lethu, kulokhu, umbhalo othile, wehlisa isithunzi esingenalutho.
Vala bese ugcine ifayili njengoba senze ngaphambi kokuqeda. Kuneminye imikhakha eminingi nezinketho eziningi esizohlola lapho sibuyekeza lesi sigaba njengoba uhlelo lwethu lokusebenza luvela, kepha lesi izidingo eziyisisekelo zokwenza uhlelo lokusebenza ukuthumela umbhalo othile. Kodwa-ke, le modeli ngeke isebenze yedwa. Njengoba kuchaziwe ngaphambili, sizodinga ukubuka ngokwezifiso nendlela yangokwezifiso ye-URL yokwenza le modeli ukuthi isebenze, futhi sizodinga nefomu kanye nethempulethi. Ake sihlole ifomu kuqala. Ukuchaza ifomu, hlela uhlelo lokusebenza / amafomu.Spy ne-nano bese wengeza imigqa elandelayo. Sizodinga ukungeniswa kwezinto ezimbili, isigaba sethu samafomu, kanye nemodeli esadale (feed.models.Post), incazelo yekilasi efana nemodeli ezochaza i-meta exhumana nge. Ifomu lingaba nomsebenzi wokuqalisa olibeka kususelwa kulwazi ngesicelo, imodeli noma ngenye indlela, sizohlola lokhu ngokuhamba kwesikhathi. Amafomu amamodeli alusizo kakhulu ngoba angakha imodeli noma ahlele imodeli,Ngakho-ke sizowasebenzisa bobabili. Masichaze eyodwa ngezindlela.Phlisayo

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',)
Lezi yizisekelo zefomu nemodeli ebukeka ngayo. Leli fomu lemodeli lingasetshenziswa ukuhambisa noma ukuhlela okuthunyelwe, ukuguqula umbhalo oqukethe. Sizobheka ukuhlanganisa leli fomu ngombono olandelayo. Okokuqala, ake senze ukufuduka futhi sihambisa imininingo egciniwe ukuze ikhodi yethu ingasebenzisana nemodeli lapho isebenza. Ukuze wenze lokhu, gijimani imiyalo elandelayo:

python manage.py makemigrations
python manage.py migrate
Lokhu kuzothatha umzuzu ukuzokwenza, kepha uma kwenzeka, kuzokuvumela ukuthi ufinyelele imodeli ekubukeni, Middleware, noma kwenye indawo ku-software. Masiqhubeke ngokwenza umbono lapho singabona khona imodeli yethu. Hlela okuphakelayo / ukubukwa.Pokuhlelwa bese wengeza ikhodi elandelayo, njengoba kuphawuliwe. Ngeke udinge ukufaka noma yini ngemuva kwesibonakaliso #, leyo khodi yimibono esetshenziselwa ukukhombisa imininingwane ngekhodi. Sizoqala ngokungenisa imodeli yethu ekubukeni, futhi sikungeze kumongo lapho singayivumela khona esithebulethi njengohlu lokuboniswa. Okulandelayo, sizokwengeza ithempulethi lapho singanikeza khona ifomu nemodeli enenkinobho yokwakha into entsha ngokususelwa kwimodeli bese uyithumela kuseva. Lokhu kuzwakala kuyinkimbinkimbi, ngakho-ke asithathe nje isinyathelo ngesinyathelo. Ngaphambi kokuthi siqede umbono, ake sakhe isifanekiso esivele sinikeze imodeli futhi siqiniseke ukuthi singayibona ngokwakha okuthunyelwe okusha egobolondweni. Nakhu ukuthi lowo mbono kufanele ubheke kanjani:
    posts = Post.objects.all() # Buza konke okuthunyelwe ku-database kuze kube manje
Konke lokhu kubukeka kulula impela kuze kube yilapho sifika ezansi. Nikeza, inani elibuyiselwe umsebenzi esikhundleni sempendulo ye-HTTP njengesibonelo esedlule, ngaso sonke isikhathi kuthatha isicelo njengokufaka kwayo okokuqala, kwamukela umongo (kulokhu okuthunyelwe ku-database), okungenziwa manje kwisifanekiso , bese ibuyisa isifanekiso esichazwe emsebenzini. I-template izoba yidokhumenti ye-HTML enolimi oluncane olubizwa ngeJinja2, olunikezela ngemininingwane ye-Pyphon ku-HTML. Ukuqala ukudala izifanekiso, yenza izinkomba ezimbili kokuphakelayo.

mkdir feed/templates
mkdir feed/templates/feed
Okulandelayo, hlela ithempulethi ku-Directory ngenhla, okuphakelayo / izifanekiso / okuphakelayo, bese wengeza ikhodi yalesi sibonelo. Ake sibheke ithempulethi yalesi sibonelo.
Lesi ithempulethi elula kakhulu. Kuchaza ukuvula nokuvala amathegi e-HTML, ithegi yohlobo lwedokhumenti, umaki womzimba onesihloko se-Legend, ithegi yebheki elingeza umugqa omncane esikrinini njengesigaba ithempulethi. Lokhu konke kudinga ukunikela okuthunyelwe, kepha akukho ku-database okwamanje. Ake sakhe amanye ngegobolondo. Singagijimisa igobolondo nge-phante.py

python manage.py shell
Manje, ake singethembele imodeli yethu yeposi

from feed.models import Post
Okulandelayo, sizokwakha okuthunyelwe okulula ngentambo bese siphuma egobolondweni. Intambo ingaba yinoma yini, inqobo nje uma umbhalo ofanele.

Post.objects.create(text='hello world')
exit()
Okokugcina, sizodinga ukwengeza iphethini ye-URL ekuphathweni kwethu. Ngoba uhlelo lwethu lokusebenza lokuphakelayo luzosebenzisa ama-URL amaningi futhi sifuna ukugcina osayizi befayela lincane, ake sakhe ama-URLS endawo.Pluy kuhlelo lwethu lokusebenza lokuphakelayo olubukeka kanjena:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.feed, name='feed'),
]
Sizodinga futhi ukuhlela ama-URL.Phy kuhlelo lokusebenza lwesisekelo, noma yini esinqume ukuyibiza, lokhu kwakuyisikhombisi sokuqala esidaliwe. Hlela uhlelo lokusebenza / uhlelo lokusebenza.Spy futhi ungeze okulandelayo kumaphethini we-URL
from django.urls import include # phezulu
    # ... ikhodi yangaphambilini lapha
Manje, lapho sisebenzisa iseva ngePython Phatha.Spy RunServer, sizobona ikhasi esilidalile ngoba sinemodeli, ukubukwa kanye nethempulethi kanye nephethini ye-URL, kanye nezinto ezise-database. Okulandelayo, ake sisebenzise ifomu esilidalile bese liqala ukudala okuthunyelwe kwethu. Kepha ngaphambi kokuthi sibhale ikhodi eningi, ake senze isipele sisebenzisa umbhalo esiyibhale ngaphambili, isipele. Qalisa lo mbhalo egobolondweni, ulinde izikhathi ezimbalwa, futhi yonke ikhodi izosekelwa lapho isembozo sethu se-git.

backup
Ukusebenzisa ifomu kulula kakhulu. Sizongenisa ifomu lethu, engeza isipele sesicelo seposi ekubukeni, bese ugcine okuthunyelwe ku-database ngaphambi kokuqondisa kabusha ekubukeni okufanayo. Singasebenzisa umsebenzi wokuqondisa kabusha esivele singenise, futhi omunye umsebenzi obizwa nge-reverse ukuthola i-URL yephethini yokubuka. Sizobuza lokhu ngentambo 'Okuphakelayo' Okuphakelayo 'ngoba amagama afakiwe wephethini efakiwe awondla, futhi umbono ubuye wabizwa ngokuthi okuphakelayo.
    posts = Post.objects.all() # Buza konke okuthunyelwe ku-database kuze kube manje
    if request.method == 'POST': # Phatha isicelo seposi
        form = PostForm(request.POST) # Dala isibonelo sefomu bese ugcine idatha kuyo
        if form.is_valid(): # Qinisekisa ifomu
            form.save() # Gcina into entsha
        return redirect(reverse('feed:feed')) # Ukuqondisa kabusha ku-URL efanayo ngesicelo se-Thola
        'form': PostForm(), # Qiniseka ukuthi udlulisa ifomu kumongo ukuze sikwazi ukukunikeza.
Manje, sizodinga ukubuyekeza ithempulethi ukuze i-akhawunti ngefomu elisha. Singakwenza lokhu ngokusebenzisa
Ithegi ku-HTML futhi unikeze ifomu kwithempulethi ye-HTML ngenkinobho yokuhambisa. Sizodinga futhi ithokheni ye-CSRF, ithokheni evimbela amasayithi angaphandle ekuthumeleleni kwifomu ngaphandle kokulayisha kuqala ikhasi.
Ake sikwephule lokhu. Kunesigaba esisha sefomu, ithokheni, ifomu ngokwalo, nenkinobho yokuhambisa. Kulula, kepha uma sikubheka, singafuna ukukwenza kubukeke kangcono. Kuyasebenza, singathumela okuthunyelwe okusha ngefomu futhi manje sebesindisiwe ku-database. Kunezinto ezimbalwa ezenzeka lapha. Sisebenzisa amathegi e-HTML ukumemezela ukuthi idokhumenti idokhumenti ye-HTML, sisebenzisa ithegi ye-template ({% ...%}) ukuhumusha ithokheni lefomu, elinye, {{{{{{{{{{{{{{{{{{{...}} ukunikela ngefomu. Siphinde sibe ne-loop ukuze sinikeze umbhalo usebenzisa amathegi we-block kanye nethegi yethempulethi. Amathegi e-block abaluleke kakhulu ngoba singachaza ukuthi izingxenye zethempulethi zihunyushwa kanjani nazo, futhi amathegi wethempulethi ayisisekelo sendlela esibeka ngayo okuguqukayo kwikhodi yethu. Manje kudingeka senze uhlelo lwethu lokusebenza lubukeke lube ngcono, ngoba manje lubukeka lusekelo ngempela. Lokhu singakwenza ngokusebenzisa i-CSS, noma ku-inline, noma emakilasini aboshwe entweni ngayinye kudokhumenti. I-CSS imnandi impela ngoba itshela konke okusekhasini ukuthi kufanele libukeke kanjani,Futhi kungenza ukuthi kubukeke kukuhle impela. Kunemitapo yolwazi embalwa engakwenza lokhu, kepha ukuya kwami ​​kuya ku-bootstrap. I-Bootstrstrap ingalandwa kuwebhusayithi yabo,llbootstrap.com/. Lapho bese lapho, cindezela inkinobho ukuze ufunde amadokhumenti wokufaka, bese ukopisha ikhodi kusuka ku-CDN Isigaba. Uzodinga le khodi phezulu kwedokhumenti lakho le-HTML, kuthegi elibizwa ngekhanda. Futhi, ake siqhubeke futhi sakhe ithempulethi eyisisekelo ngakho-ke akudingeki ukuthi uphinde uphinde uphinde uphinde uphinde uphinde axhumane nalezi zixhumanisi kwithempulethi ngayinye. Yenza umkhombandlela omusha obizwa ngamathempulethi nge-MKDIR templates, bese uhlela izifanekiso / i-Base.html. Kufanele kubukeke kanjena:
Qinisekisa ukukopisha i-CSS ne-JavaScript, ama-.css namafayela .'s kanye namafayela we-.js, ngoba sizodinga iJavaScript ukwenza isiza sethu sisebenze ngokwengeziwe ngokuzayo. Manje, ake sibuyele e-Bash Shell bese sigijimisa umyalo osheshayo. Khumbula, uma kwenzeka udinga ukufinyelela imvelo ebonakalayo, uhlobo lomthombo we-venv / Bin / Cupha. Lokhu kuzokuvumela ukuthi ufake amaphakheji wePython endaweni yalapho evumela i-Django ifinyelele kubo. Ukunikeza amafomu ethu akhiqizwe amakilasi we-Django Bootstrap, sizosebenzisa iphakethe lePython elibizwa ngokuthi amafomu e-crispy. Singalanda lokhu ngomyalo olandelayo

pip install django-crispy-forms
Uma lokhu kufakiwe, kwengeze kuzilungiselelo.Phy
    # ... ikhodi yangaphambilini lapha
Manje, emuva esithekweni sethu sokuphakelayo, singasusa ezinye izinto. Ake sisuse isiqalo nesiphelo sedokhumenti bese siyifaka esikhundleni sefa kusuka kusifanekiso sethu sesisekelo, usebenzisa ukunwebeka nencazelo yebhlokhi. Futhi, sizokwengeza ukungenisa kwesithombe se-template ngomthwalo nesihlungi sethempulethi kufomu. Okokugcina, ake sengeze isigaba se-bootstrap kwinkinobho esefomini ukulenza libukeke njengenkinobho. Lokho kufanele kubukeke kanjena:
Kuhle! Kuyinto encane kakhulu yekhodi. Okulandelayo, kufanele sikuhlole futhi siqiniseke ukuthi siyabona ukuthi yonke into ibukeka yinhle, futhi iqiniseke futhi ukuthi konke kusebenza kahle. Gijimisa iseva ngokwemiyalo edlule futhi uqiniseke ukuthi isayithi libukeka futhi lisebenza kahle. Umsebenzi omuhle! Usukulungele ukuqhubekela esigabeni esilandelayo, lapho sizofaka khona ukusebenza kokungena ngemvume kwabasebenzisi kusetshenziswa ama-URL afanayo, amafomu, ukubukwa kanye nezifanekiso. Isifanekiso sesisekelo sibalulekile, futhi sizoqhubeka nokuyiguqula futhi sisebenzise izinguquko njengoba kudingeka, kepha manje ake sigxile ekwenzeni isiza sethu siphephe kakhulu, ngokunika amandla abasebenzisi ukuthi bangene ngegama lomsebenzisi nephasikhodi, futhi ekugcineni bawulwazi olubaluleke kakhulu lokho Sizosiza ukugcina uhlelo lwakho lokusebenza luphephe futhi i-akhawunti yakho itholakale kuphela ngawe. Ukuze senze lokhu, sizodinga ukusebenzisa imodeli yabasebenzisi eyakhelwe ku-Django. Imodeli yabasebenzisi iyimodeli yedatha, efana neposi yethu, ekwazi ukunikelwa ukuze kufakwe umsebenzisi kuwebhusayithi. Ngokuzayo, ngaphambi kokuba sisebenzise indawo kwi-Intanethi, sizokwenzaNweba le modeli namanye amamodeli abhalwe kuyo, futhi wakhe amanye amanyathelo okuphepha okungena ngemvume okuvimbela ebugebeng. Sizoqala ngokusebenzisa ezinye ezakhelwe ngamafomu okungena nge-Django ahlinzekayo. Okokuqala, ake sakhe uhlelo lokusebenza olusha esizolusebenzisa ukuhumusha izifanekiso nokubukwa kwekhasi lokungena eliyisisekelo. Sizokwakha nezinye izinhlelo zokusebenza ukumela izinselelo eziqhubekayo zokungena ngemvume ukuze kuvikeleke uhlelo lokusebenza, kufaka phakathi i-pincode, ukwamukelwa kobuso, ukuxhumanisa insimu, ukuqinisekiswa kwezinto eziningi, nokuqashelwa kwezinto eziningi, kanye nokuqashelwa kweminwe. Sesikhulumile ngokuqala uhlelo lokusebenza. Ukusuka kwisikhombi sethu, ngaphakathi kwemvelo ebonakalayo, dlulisa Phatha.PY Lezi

python manage.py startapp users
Manje, kufanele sibe nesiqondisi sohlelo lokusebenza olusha. Ake siqale ngokwakha umbono kulowo mkhombandlela ohambelana nokungena komsebenzisi. I-Django yakhele ngokubukwa kwama-logins abasebenzisi, kepha lokhu ngeke kusilungele ngoba sidinga ukubuka ngokwezifiso, okungcono kwenziwa ngencazelo. Kulobu mbono, sizoqala ngokubheka isicelo seposi, i-Pass Cela.Post kwi-logform engeniswe kusuka ku-DJango, fakazela i-akhawunti yomsebenzisi, bese ungena kumsebenzisi ngaphambi kokuzithumela kuhlelo lwethu lokusebenza lokuphakelayo. Kubasebenzisi / ukubukwa.Pha, engeza ikhodi elandelayo
        username = request.POST['username'] # Thola igama lomsebenzisi nephasiwedi kusuka kwisicelo seposi
        password = request.POST['password'] # Qinisekisa umsebenzisi
Konke lokhu okudingayo ukuthola umbono wokungena oyisisekelo. Manje, ake sakhe ifomu lokubuka ngokwandisa isibonisi sesisekelo. Sizoqala ngokwakha umkhombandlela omusha wezifanekiso kufolda yabasebenzisi.

mkdir users/templates
mkdir users/templates/users
Manje, kufanele sikwazi ukuhlela abasebenzisi / izifanekiso / abasebenzisi / Login.html. Ngenkathi sikulo, sizokwakha ithempulethi ukuvumela umsebenzisi ukuthi abhalise futhi.

nano users/templates/users/login.html
Manje, kuthempulethi,
Lezi yizisekelo zethempulethi yokungena ngemvume. Kufana nenye ithempulethi esesakhiweni, kepha kubukeka kuhluke kancane lapho kunikelwa. Singakopisha le khodi ukwakha enye ithempulethi efanayo ebizwa ngokuthi irejista.html, lapho sizoshintsha khona amagama futhi sisebenzise ifomu elisha esakha. Masenze ithempulethi kuqala. Hlela abasebenzisi / izifanekiso / abasebenzisi / Rejista.html bese wengeza ikhodi elandelayo:
Manje, ake sakhe ifomu lokubhaliswa kwethu komsebenzisi bese sibuyisela emuva ekubukeni ngaphambi kokuthi sithuthukise ukungena komsebenzisi ngemodeli. Sizokwenza leli fomu libe lisekelo liqale nge, kepha faka imininingwane eminingi nezici zokuphepha ezifana nezivumelwano neCAPTCHA ngokuzayo. Hlela amafomu nabasebenzisi be-nano / amafomu.Spy, bese wengeza ikhodi elandelayo.

from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm

class UserRegisterForm(UserCreationForm):
    email = forms.EmailField()

    class Meta:
        model = User
        fields = ['username', 'email', 'password1', 'password2']
Ngakho-ke sinelinye ifomu lapha, elisebenza kahle. Ifomu lokubhalisela umsebenzisi ngegama lomsebenzisi, i-imeyili nephasiwedi, kanye nenkambu yokuqinisekisa iphasiwedi. Qaphela ukuthi leli fomu alinwebi amafomu ajwayelekile.Iklasi elijwayelekile, liyifomu lemodeli okusho ukuthi line-meta. Inkambu eyodwa ichazwa okufanayo, futhi i-Meta yekilasi ichaza imodeli leli fomu elifana nalo lonke ulwazi oluzobhalwa kwifomu. Iningi lalokhu selivele likhona e-DJANGO elakhiwe ngokusebenza komsebenzisi, ngakho-ke sizosebenzisa lokho njengesisekelo sekilasi (kudlule kumzali). Okulandelayo, sizohlola umbono wokubhalisa umsebenzisi, manje njengoba sinefomu nethempulethi. Lesi yisibonelo, njengaleso ekubukeni okusha kweposi. Hlela abasebenzisi / ukubukwa.Po bese wengeza ikhodi elandelayo:
# ... ukungenisa
Lokhu konke esikudingayo ukuthola umsebenzisi abhaliswe, kepha kufanele sibe neminye imininingwane. Sifuna ukwazi isikhathi umsebenzisi abhaliswe ngaso, ngasiphi isikhathi esagcina esizeni, imininingwane ethile ngabo, njenge-biography, i-Timezone, njll. Futhi, sizodinga ukubuyekeza imodeli yethu yokuphakelayo, okuthunyelwe imodeli kanye nokuthunyelwe kwezwi kumsebenzisi ngamunye. Ukuze senze lokho, sizobuyekeza amamodeli.Phy kuzo zombili izinhlelo zokusebenza. Ake siqale ngokuhlela imodeli yokuphakelayo. Kufanele kubukeke kanjena manje:
from django.db import models # ... ukungenisa
    author = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True, related_name='posts') # Faka kulomugqa
Naka umugqa wesibili ongezwe kufayela. Lokhu kungukhiye wakwamanye amazwe, okuzothi okuthunyelwe ngakunye kumsebenzisi oyedwa othunyelwe ngakunye, ngakho-ke singakwazi ukuqiniseka ukuthi sisindisa okuthunyelwe kusisekelo somsebenzisi kanye nangekho okuthunyelwe ngaphandle kokufaka umsebenzisi. Sichaza lo mhluko wangaphandle ngekilasi elimele, ukususa impikiswano ukuze kuqinisekiswe ukuthi okuthunyelwe kususwa nabasebenzisi, izimpikiswano ezingenalutho nezingenalutho ukuze qiniseka ukuthi singasusa umsebenzisi uma kufanelekile, futhi ukuze kuhlaluleke ukuswela umsebenzisi kokuthunyelwe esivele sikhona Kwenziwe, negama elihlobene nalo, esingalisebenzisa ukubhekisa ezintweni ezithunyelwe umsebenzisi adala. Leli gama elihlobene, ngokungafani nePost.Author, umlobi weposi, lisinika umsebenzisi ukuthi athumele iposi uqobo. Manje sesingathola okuthunyelwe umsebenzisi owenziwe ngokusebenza komsebenzisi.posts.all (), noma umlobi.posts.onke (). Manje, ake senze ama-Egins ethu aqine ngokwengeziwe. Sesivele senze isayithi lethu libe lisengozini enkulu ebugebengle ngokubuphana ngokubumbana ngokukhawulela inani lezikhathi esizovumele ukungena ngemvume kuIsiza, lokhu kulula impela. Ake siqale ukugcina imininingwane ethile mayelana nomsebenzisi ngamunye ngaphambili njengoba siqhubeka nokuthuthukisa uhlelo lwethu lokusebenza. Ukuhlela Abasebenzisi / Amamodeli.Spy, engeza okulandelayo

from django.db import models
from django.contrib.auth.models import User
from django.utils import timezone

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, blank=True, related_name='profile')
    account_created = models.DateTimeField(default=timezone.now)
    last_seen = models.DateTimeField(default=timezone.now)
    can_login = models.DateTimeField(default=timezone.now)
    preferred_name = models.CharField(max_length=20,default='', null=True, blank=True)
    bio = models.TextField(blank=True, default='')
Qaphela ukuthi le modeli ifana kahle nemodeli yeposi. Sinokungenisa okwengeziwe kokungenisa, isikhathi, okuzosivumela ukuthi sisekele okuzenzakalelayo kumasimu we-datettime, futhi futhi sinomlingiswa kanye ne-textifield njengokuthunyelwe. Ukusebenzisa wonke lamuhla ama-timestamp kusisiza ukuvikela isiza futhi siqonde ukusetshenziswa kwayo, futhi amasimu wombhalo ake sinikeze imininingwane mayelana nomsebenzisi ngamunye, noma umbhali, kwiwebhusayithi. I-OnetoOnefield kufanele kube kuphela ukucatshangelwa okuncane, iziphatha ngokufana ne-foreginkey kodwa eyodwa kuphela ngemodeli ngayinye elandelayo. Ngale ndlela, umsebenzisi kuphela unephrofayili eyodwa, ngenkathi beba nokuthunyelwe okuningi. Manje, ake sithuthukise ukungena kwethu futhi sibhalise ukubukwa ukuze ku-akhawunti ngephrofayili. Okokuqala, hlela abasebenzisi / ukubukwa.Po. Futhi gxila ekubukeni kokurejista:
# ... ukungenisa
            Profile.objects.create(user=user) # Qinisekisa ukwengeza lomugqa, ukudala iphrofayili yomsebenzisi
Lokhu kumane kwakha iphrofayili yomsebenzisi, ngaphandle kokugcwalisa noma yiluphi ulwazi. Manje, sifuna ukuqiniseka ukuthi i-akhawunti yomsebenzisi ayikwazi ukungena ngemvume kaningi, noma amaphasiwedi okungenani awakwazi ukuqulwa kaningi, ngakho-ke ake sivuselele ukubuka kokungena ngemvume.
# ... ukungenisa
        if user and user.profile.can_login < timezone.now(): # Qaphela ukuthi manje sihlola ukuthi umsebenzisi angangena yini
        else: # Uma ukungena ngemvume kungaphumeleli,
            user = User.objects.filter(username=username).first() # Le yingxenye lapho sibuyekeza khona iphrofayili yabasebenzisi
                profile.can_login = timezone.now() + datetime.timedelta(seconds=15) # Ngakho-ke abakwazi ukungena ngemvume ngemizuzwana embalwa
Lokhu kuyisisekelo sokuphepha. Qinisekisa ukuthi isiza singesengcupheko kumuntu umane nje uzama yonke inhlanganisela yephasiwedi, noma ambalwa ngasikhathi sinye. Lokhu ngeke kukhungathekise umsebenzisi ojwayelekile owaziyo iphasikhodi yabo futhi avele angena kumadivayisi ambalwa, kepha azogcina amarobhothi amaningi wobugebengu kokwenza imininingwane. Qaphela ukuthi sengeze isitatimende esinokuhlukahluka, can_login, okufanele kube yisikhathi esedlule, futhi sikuvuselele nge-login ngayinye engaphumelelanga usebenzisa igama lomsebenzisi elifanayo. Ngale ndlela, umsebenzisi onobungozi ngeke akwazi ukuqagela iphasiwedi noma kuphi lapho esheshayo. Inani lemizuzwana ku-DateTime.Timedelta () lingavuselelwa futhi, futhi iwebhusayithi izokhuthazeka kakhulu okwamanje kungasebenzi kahle ngemizuzwana engaphezulu. Ngincoma ukuthi ngiqale nge. Khumbula, sakha umbhalo wesipele ukuze asindise umsebenzi wethu, ngakho-ke ake siqhubeke sibuyele emuva kwalokho esikude kangaka ukuze siqiniseke ukuthi konke kusindisiwe. Gijimani umyalo:

sudo backup
Nakulokhu futhi, lokhu kuzosindisa umsebenzi wakho kuze kube manje. Ngincoma ukusebenzisa ama-backups ajwayelekile ukuze ngisindise umsebenzi wakho, futhi ungahle ngisho nokufuna umsebenzi wesipele ngokuzenzakalelayo. Ungakwenza lokhu usebenzisa umsebenzi we-UNIX obizwa ngeCron. Ukuze usebenzise lo msebenzi, gijima umyalo olandelayo bese ufaka iphasiwedi yakho:

sudo crontab -e
Uma ungakakhethi inketho 1 ye-nano, umhleli wombhalo kufanele usuvele ujwayele, bese upheqela ezansi kwefayela usebenzisa okhiye bemicibisholo. Faka umugqa olandelayo:

0 * * * * sudo backup
I-Cron isebenzisa umzuzu omncane wefomethi, ihora, usuku lwenyanga, inyanga, usuku lwesonto, lapho inombolo noma inombolo imelela lapho kufanele iqale khona umyalo. Usebenzisa i-0 ngomzuzu futhi * Kwazo zonke izinketho, singagijimisa umyalo ngomzuzu wokuqala wazo zonke ihora ekuqaleni komzuzu. Lokhu kusivumela ukuba senzele ikhodi ngokuzenzakalelayo. Yonke imisebenzi ye-cron lapho yenziwa nge-sudo igijime njengempande, ngakho-ke ngeke sidinge ukuthayipha kwiphasiwedi njalo ngehora. Ukwenza kube lula ukwenza isipele ikhodi yethu ngaphandle kokusebenzisa iphasiwedi, ake sikhubaze iphasiwedi yomyalo wethu wesipele. Sizokwenza lokhu ngokwenza umyalo olandelayo bese ufaka iphasiwedi:

sudo visudo
Manje, ake siphele ezansi kwefayela bese wengeza omunye umugqa:

ALL ALL=NOPASSWD: /bin/backup
Lokhu kusivumela ukuba sigijime umyalo "Isipele" njenganoma yimuphi umsebenzisi, ngaphandle kwephasiwedi. Ifomethi yalokhu ilula, isiqalo nje umugqa onama- "All All All = Nopasswd: / Bin /" bese uphela ngomyalo, isibonelo / i-Backup, ekhona /. Manje, ake siqale ukusebenza nge-imeyili. I-imeyili ibaluleke ngempela kumawebhusayithi, ngoba kuyindlela yokugcina iwebhusayithi iphephe ngokwengeziwe, qinisekisa ukuthi abasebenzisi babantu bangempela, futhi ngisho nemikhiqizo yemakethe noma izinsizakalo kumakhasimende. Abantu abaningi abavame ukubheka i-imeyili yabo nsuku zonke, futhi bathola zonke izinhlobo ze-imeyili ye-Marketing mayelana nemikhiqizo nezinsizakalo abazithandayo. Kufika izinketho ezimbalwa lapho uvumela i-imeyili kuwebhusayithi ye-DJANGO, futhi wamukelekile ukukhetha Noma yikuphi okusebenzele okuhle kuwe. Okokuqala, ungakhokhela insizakalo ye-imeyili ezokwenza ukuthi uthumele i-imeyili kusuka kwisizinda sakho futhi idinga ikhodi encane. Kunezinsizakalo eziningi ezinikeza lokhu, njengendawo yokusebenza ye-Google, i-SendInblue, iMeyiliGun, nokuningi. Ngaphandle kwalokho, ususekhandlekweni kahleInsizakalo yakho ye-imeyili yakho ngaphakathi kweseva yakho kusuka ekuqaleni. Ngincoma le nketho, noma ngabe yikhodi engaphezulu futhi ingadinga ukusingathwa okukhethekile. Ngeke ukwazi ukuqala iseva yemeyili kusuka kwikhompyutha yakho yasekhaya kungenzeka kakhulu, ngakho-ke ake siqhubeke sihlole ukucushwa kanye nekhodi ukuthumela i-imeyili ngaphambi kokuqala iseva yethu. Okokuqala, hlela izilungiselelo.py ngokulandelayo

nano app/settings.py
Lapho uhlelo lokusebenza igama lohlelo lokusebenza olwenzile nge-Startapp. Faka imigqa elandelayo:

SITE_NAME = 'Django App'

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_ADDRESS = username@server.com'
EMAIL_HOST_USER = 'username'
EMAIL_HOST_PASSWORD = config['EMAIL_HOST_PASSWORD']
DEFAULT_FROM_EMAIL = '{} <{}>'.format(SITE_NAME, EMAIL_HOST_USER)
Qiniseka ukuthi ushintsha lezi lapho usukulungele ukusebenzisa uhlelo lwakho lokusebenza, sizophinde sivumele lokhu ngokuhamba kwesikhathi. Ukusetha i-imeyili_Address kufanele kube yi-imeyili ongathanda ukuyithumela kuyo, nephasiwedi (i-imeyili_host_password) kufanele isethwe kwiphasiwedi oyikhiqizayo kwiseva. Ngilayisha iphasiwedi kusuka kufayela le-config ukuze ngiligcine liphume kwikhodi esebenzisa logic okulandelayo, ngaphezulu kwale migqa kuzilungiselelo.Phy:

import os
import json
with open('/etc/config.json') as config_file:
    config = json.load(config_file)
Ngemuva kwalokho, sengibekele ifayela le-JSON nge-Config ku /etc/config.json usebenzisa uNano ngale ndlela elandelayo. Ukuhlela ifayela:

sudo nano /etc/config.json
Faka imigqa elandelayo:

{
	“EMAIL_HOST_PASSWORD”: “<some password here>”
}
Sizoqhubeka nokuhlela ifayela le-Config futhi sengeze wonke amaphasiwedi nezinkinobho esizozisebenzisa kuhlelo lokusebenza. Okwamanje, masisihlole ngokushesha ukuthi singayithumela kanjani i-imeyili usebenzisa i-Python. Okokuqala, ake sakhe ithempulethi nge-imeyili yokuqinisekisa esingayithumela kubasebenzisi bethu, bese siyibeka kwisikhombisi sethempulethi yomsebenzisi. Le template izobhalwa ku-HTML.

nano users/templates/users/verification_email.html
Le imeyili ilula. Kuthatha umongo womsebenzisi, i-URL eyisisekelo yesayithi, ne-ID yomsebenzisi nethokheni esetshenziselwa ukuqinisekisa i-imeyili yomsebenzisi. Qiniseka ukuthi uchaza i-URL eyisisekelo kuzilungiselelo.PY Ngaphambi kokuthi sibhale ikhodi yePython ukuhumusha ithempulethi. Qhubeka futhi ungeze imigqa elandelayo kuhlelo lokusebenza / izilungiselelo.Pow, eduze kwasekuqaleni.

SITE_NAME = 'Django App'
PROTOCOL = 'https'
DOMAIN = 'example.com'

BASE_URL = PROTOCOL + '://' + DOMAIN
Ekugcineni, lapho isiza sakho sesilungele i-Intanethi futhi uyayisebenzisa, uzofuna ukuchaza isizinda sakho njengegama lesizinda olithenga ukumela isiza. Leli igama ozolithayipha kwi-navbar ukuze ufinyelele kwisayithi lakho. Okwamanje, ungashiya isizinda esingenalutho noma usebenzise umninindawo. Futhi uzofuna ukushintsha isiza_ igama elithi Ufuna ukunikeza isiza sakho, sokukhetha kwakho. Ngaphambi kokuthi sithumele i-imeyili, ake sakhe i-Tysen Generator ukuze sibe nethokheni yokuvula i-akhawunti engaphelelwa yisikhathi. Lokhu singakwenza ngokwakha nokungenisa ithokheni yokuvuselelwa kwe-akhawunti okubukeka njengokulandelayo. Hlela ifayela:

nano users/tokens.py
Faka ikhodi elandelayo:

from django.contrib.auth.tokens import PasswordResetTokenGenerator
import six
class TokenGenerator(PasswordResetTokenGenerator):
    def _make_hash_value(self, user, timestamp):
        return (
            six.text_type(user.pk) + six.text_type(timestamp)
        )
account_activation_token = TokenGenerator()
unsubscribe_token = TokenGenerator()
Le generator yethokheni eyisisekelo ikhiqiza ithokheni singathumela umsebenzisi ku-URL futhi umsebenzisi angawasebenzisa ukuqinisekisa i-imeyili yakhe futhi asebenze i-akhawunti yawo. Okulandelayo, ake sibheke ukuthi ungayithumela kanjani i-imeyili. Usebenzisa i-Nano, hlela abasebenzisi / i-imeyili.Spy.

nano users/email.py
Ukuthumela i-imeyili yokuqinisekisa ye-HTML kuzobukeka kanjena:

from django.contrib.auth import get_user_model
from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode
from django.contrib.sites.shortcuts import get_current_site
from django.core.mail import send_mail
from django.template.loader import render_to_string
from django.utils.encoding import force_bytes
from django.core.mail import EmailMultiAlternatives
from django.shortcuts import render
from .tokens import account_activation_token
from django.template.loader import render_to_string
from django.utils.html import strip_tags
from django.template import Template, Context
from django.conf import settings
import traceback

def send_verification_email(user):
    User = get_user_model()
    mail_subject = '[{}] Activate your account.'.format(settings.SITE_NAME)
    html_message = render_to_string('users/verification_email.html', {
        'user': user,
        'domain': settings.DOMAIN,
        'protocol': 'https',
        'uid': urlsafe_base64_encode(force_bytes(user.pk)),
        'token': account_activation_token.make_token(user),
    })
    send_html_email(user, mail_subject, html_message)
Lokhu kulula. Singenisa imisebenzi esiyidingayo ukuthumela i-imeyili, inikeze i-imeyili ngezifanekiso, kanye nezilungiselelo zethu, bese sichaza i-imeyili ngegama lethempulethi bese lilithumela kumsebenzisi esebenzisa umsebenzi. Uzobona ukuthi asikashintshi umsebenzi ukuthumela imeyili, uthumele_html_email, okwamanje, ngakho-ke ake sibhale lokhu ngezansi ikhodi esivele ingeziwe kubasebenzisi / imeyili.PY

def send_html_email(user, mail_subject, html_message):
    to_email = user.email
    username = user.username
    if to_email == '':
        return None
    unsub_link = settings.BASE_URL + user.profile.create_unsubscribe_link()
    html_message = html_message + "<p><a href=\"" + unsub_link +  "\" + title=\"Unsubscribe from " + settings.SITE_NAME + " emails\">Unsubscribe</a></p></body></html>"
    msg = EmailMultiAlternatives(mail_subject, strip_tags(html_message), settings.DEFAULT_FROM_EMAIL, [to_email], headers={'List-Unsubscribe' : '<' + unsub_link + '>'},)
    msg.attach_alternative(html_message, "text/html")
    profile = user.profile
    try:
        msg.send(fail_silently=False)
        if not profile.email_valid:
            profile.email_valid=True
            profile.save()
    except:
        profile.email_valid=False
        profile.save()
Lokhu kuyinkimbinkimbi ngokwengeziwe, futhi asikakulungeli ukugijima yonke le khodi. Qaphela Sichaza i-Unsub_Link, isixhumanisi somsebenzisi esingasisebenzisa ukuze sikhiphe ohlwini lwama-imeyili ethu. Lokhu kubalulekile, ngoba abasebenzisi kuzodingeka bakwazi ukuphuma kuma-imeyili ethu ngaphandle kokuthi bafuna ukubabona, nganoma yisiphi isikhathi. Siphinde singeze enye indlela yoMlayezo emyalezweni wethu, okuwumyalezo we-HTML osuswe kumathegi e-HTML. Okokugcina, sibheka ukuthi ngabe i-imeyili ithunyelwe, futhi uma kungenjalo, simaka kuphrofayili yomsebenzisi yokuthi i-imeyili yabo ayivumelekile. Masibuyele emuva kumamodeli omsebenzisi ukuze sikwazi ukwenza konke lokhu kusebenze. Sidinga ukuchaza umsebenzi wokukhiqiza isixhumanisi sokuzikhipha ohlwini, futhi sichaze insimu yaseBoolean ukumaka ukuthi i-imeyili yomsebenzisi ayisebenzi. Okokuqala, engeza okungeniswa okulandelayo kwesokudla kwabasebenzisi / amamodeli.Spy

nano users/models.py
# ...
Okulandelayo, ake sengeze imisebenzi kwimodeli yabasebenzisi ukwenza ithokheni futhi ihlole ithokheni elisetshenziselwa ukwenza kusebenze i-imeyili, kanye nenkambu yokusindisa ukuthi ngabe umsebenzisi uthola ngempumelelo yini imeyili yabo. Kubasebenzisi / amamodeli.Spy futhi, engeza ikhodi elandelayo kuze kube sekupheleni kwemodeli (ikhodi efakiwe)
# ...
            TimestampSigner().unsign(key, max_age=60 * 60 * 24 * 30) # Ivumelekile izinsuku ezingama-30
Lokhu kulula, sisebenzisa i-Timestampsigner, okuyithuluzi lezincwadi eziyisisekelo, ukudala ithokheni ezophelelwa yisikhathi ngemuva kwesikhathi esithile, futhi sisebenzisa nomsebenzi wokuhlola ukuthi ngabe uvumelekile yini. Sisebenzisa la mathokheni kabili, kanye ukuze aqinisekise i-imeyili, kanye kanye kwesixhumanisi sokuzikhipha. Manje njengoba sinakho lokhu, owokugcina womsebenzi esizodinga ukuwenza ekubukeni. Ngaphakathi kwabasebenzisi / ukubukwa.Pha, ake wengeze ukubukwa ukuqinisekisa ikheli le-imeyili, nokuzikhipha ohlwini.

nano users/views.py
Okokuqala, engeza okungenisa okulandelayo. Ngaphonsa okungeziwe okumbalwa ngakho-ke ngeke sikwazi ukungenisa izinto eziningi futhi ngokuhamba kwesikhathi.
from .email import send_verification_email # Qiniseka ukuthi ungenisa umsebenzi wokuthumela we-imeyili wokuqinisekisa
Kungenzeka ukuthi usuvele unakho okunye kwalokhu okungeniswayo, kepha akulimazi ukuziphindaphinda. Uzodinga ukungenisa umsebenzi wokuthumela we-imeyili wokuqinisekisa, kanye ne-akhawunti_activation_token kusuka kubasebenzisi.Tokens, phakathi kokunye okungeniswa. Manje, ezansi kwefayela, engeza ikhodi elandelayo:
        # Zibhalele
    # Ngaphandle kwalokho phinda uqondise ekhasini lokungena ngemvume
# I-SendwelcoreEmail (Cela, Umsebenzisi)
Le yikhodi eningi. Asiphule. Umsebenzi wokuqala, uhlanzekile futhi olula, obhaliwe umsebenzisi ohlwini lwamakheli. Umsebenzi wesibili wenza i-imeyili yakhe, futhi uzobona ukuthi ngingeze umsebenzi onamazwana, i-Sendwelreemail. Wamukelekile ukusebenzisa ithempulethi ye-imeyili kanye nencazelo yomsebenzi wokuthumela i-imeyili yokwamukela, angikakakakakabi. Umsebenzi wokugcina engiphonse wona kubalulekile, ngoba ama-imeyili asebenze aphelelwa yisikhathi. Ngakho-ke, kuzodingeka siphinde sisebenzise kabusha i-imeyili yokuvula isikhathi esithile. Singasebenzisa ifomu eliyisisekelo lalokhu, futhi sibize umsebenzi ukuthumela i-imeyili yokuqinisekisa. Ngaphambi kokuthi senze lokhu, ake siqinisekise ukuthi sithunyelwa okokuqala, ngokungeza ucingo lomsebenzi ekubukeni kwerejista. Faka lo mugqa ngaphambi nje kokuqondisa kabusha ekubukeni kokurejista, ukubhaliswa kwe-def, kubasebenzisi / ukubukwa.Pha.

nano users/views.py
# ... (ngemuva) irejista (isicelo):
# ... (Ngaphambi)) Ukuqondisa kabusha (
Awudingi ukwengeza imigqa yokuqala neyokugcina kulelo khodi snippet, vele uqiniseke ukuthi ukubukwa kokurejista kuthumela i-imeyili yokuqinisekisa kumsebenzisi. Kufanele kubukeke kanjena:
# ... ukungenisa
            send_verification_email(user) # Qinisekisa ukwengeza lomugqa!
Manje, sizodinga ukwengeza ifomu lokuthumela kabusha i-imeyili yokuvula. Kubasebenzisi / amafomu.Spy, engeza ifomu elilandelayo:
# ... (Ukungenisa)
Sizodinga futhi ithempulethi ehambelana nale fomu yokusebenzisa kabusha i-imeyili. Masingeze le template. Hlela ifayela:

nano users/templates/users/resend_activation.html
Okulandelayo, engeza ikhodi elandelayo kufayela.

{% extends 'base.html' %}
{% block content %}
{% load crispy_forms_tags %}
        <form method="POST">
            {% csrf_token %}
            <fieldset class="form-group">
                <legend class="border-bottom mb-4">Resend activation email</legend>
                {{ form|crispy }}
            </fieldset>
            <div class="form-group">
                <button class="btn btn-outline-secondary" type="submit">Resend activation email</button>
            </div>
        </form>
{% endblock %}
Whew, lokho kuningi! Manje, lapho sithumela ikhodi kwiseva yethu, sizokwazi ukuthumela i-imeyili ye-HTML futhi sisebenzise ama-akhawunti omsebenzisi ngokuchofoza ku-imeyili. Singase futhi sifune ukuthumela i-imeyili elula yokwemukela, ngakho-ke ake sibheke ukuthi ungakwenza kanjani lokho. Emuva kubasebenzisi / imeyili.Pha, engeza ikhodi elandelayo:

def sendwelcomeemail(user):
    User = get_user_model()
    html = open('{}/users/welcome_email.html'.format(settings.BASE_DIR)).read()
    subject = 'Welcome to ' + settings.SITE_NAME + ', {{ username }}!'
    template = Template(html)
    subjtemplate = Template(subject)
    context = Context({'username': user.username, 'base_url': settings.BASE_URL, 'model_name': 'Daisy Holton, 'site_name': settings.SITE_NAME})
    renderedtemplate = template.render(context)
    subjcontext = Context({'username': user.username})
    subjrenderedtemplate = subjtemplate.render(subjcontext)
    send_html_email(user, subjrenderedtemplate, renderedtemplate)
Futhi, sizodinga ithempulethi ukunikeza lonke lolu lwazi. Kuwebhusayithi yami, ithempulethi ibukeka njengaphansi, kepha wamukelekile ukufometha noma ngabe uyathanda.
Qaphela ukuthi asinawo umzimba wokuvala noma amathegi e-HTML, ngoba singeza lokhu lapho sifaka isixhumanisi sokuzikhipha ohlwini lwe-HTML. Lokhu kubalulekile, kepha asifuni ukuwachaza kabili. Ngakho-ke yini elandelayo? Size isikhathi eside. Ngempela, kufanele sikulungele ukuthumela isayithi kwiseva. Singangeza umhlobisi we- @login_required futhi senze ukubuka kwethu kuvikeleke, kuthathe ama-Sickpurs Abasebenzisi, thumela i-imeyili ethobekile, kanye nemininingwane yenqolobane, okuyisisekelo salokho iwebhusayithi okudingeka ukwenze ukuze uhlale ufanele. Sizongeza izici ezimbalwa eziwusizo, bese sakha isisekelo sokuthumela ikhodi yethu kwiseva ekude, ukusetha iseva yemeyili, ukucushwa kwesizinda, nokuhlunga ukwenza isiza sethu siphephe futhi kufanelekile. Sizodinga futhi ukubukwa kabusha kwephasiwedi, ngakho-ke ake singeze lokho kusheshe ngempela. U-Django owakhelwe ekubukeni kabusha kwephasiwedi uphukile kweminye imisebenzi, kepha sizobheka ukuthi singabhala kanjani umbono wethu, ithempulethi ye-imeyili, amafomu, namaphethini we-URL. Nakhu okubukeka sengathi ukubukwa okubukekayo, kubasebenzisi / ukubukwa.Py
# ... ukungenisa
Leli fomu lakhiwa ku-Django, kepha sizodinga ithempulethi ukuqinisekisa ukusetha kabusha iphasiwedi, abasebenzisi / izifanekiso / abasebenzisi / Iphasiwedi_reset_conml.html
Siphinde sibe nethempulethi yokuthumela i-imeyili yokusetha kabusha iphasiwedi, ngefomu elilula, kubasebenzisi / izifanekiso / abasebenzisi / Iphasiwedi_Reset.html.html
Isifanekiso se-imeyili ngokwaso silula, iyifayela eliyisisekelo le-HTML elinikeza isixhumanisi sokusetha kabusha iphasiwedi, kubasebenzisi / izifanekiso / abasebenzisi / i-password_reset_email.html. I-Django izohumusha ngokuzenzakalelayo leli fayela.
Sizodinga futhi izifanekiso ezimbili eziningi. Owokuqala ukuqinisekisa ukuthi kuthunyelwe i-imeyili. Ukubukwa kwalokhu sekuvele ku-DJango, ngakho-ke sidinga nje ukubhekana nabo kuma-URL.Phy. Le template itholakala kubasebenzisi / izifanekiso / abasebenzisi / Iphasiwedi_reset_done.html
Futhi okokugcina, ukuqinisekisa ukuthi ukusetha kabusha kwephasiwedi kuqediwe, abasebenzisi / izifanekiso / abasebenzisi / Iphasiwedi_reset_complete.html
Manje, sidinga amaphethini we-URL wale mibono. Kubasebenzisi / ama-URLS.PY, engeza amaphethini alandelayo we-URL:
    # ... ama-URL edlule lapha
Izibonisi ezine, lokho okuningi! Kepha manje singaqiniseka ukuthi sikwazi ukusetha kabusha iphasiwedi yomsebenzisi nganoma yisiphi isikhathi lapho sidinga khona, konke kusuka kusiphequluli seWebhu. Ngiyaqonda ukuthi le yikhodi eningi. Uma kubonakala kuncane ngaphezulu kwekhanda lakho, kulungile. Uzothuthuka, ukuqonda kwakho kuzothuthuka, futhi uzoba nekhono ngokwengeziwe ngeKhodi kungekudala. Uma ulahleka ngokuphelele, ngincoma ukubuyela kule software ngokuhamba kwesikhathi ngemuva kokusebenza ngokuzikhethela kokufunda okufundwayo ku-Code Course online. Lokhu kuvame ukukhululekile ukuqala, futhi kuzokuqondisa kukho konke okudingayo ukuze uphumelele lapho ubuyela kulo msebenzi. Uma uzizwa sengathi usukulungele ukuqhubeka, ufunde, olandelayo, sizomboza ukuthumela ikhodi yakho kwiseva ekude futhi sisetha iseva yemeyili, kanye ne-aupport yakho, kanye nokushintshanisa kabusha kusetshenziswa iphrojekthi entsha ngemiyalo embalwa elula. Into yokugcina esidinga ukuyenza ngaphambi kokuthumela kwiseva ekude yenza indawo yethu iphephe kancane. UzokwaziQaphela ukuthi ukubukwa kokungena ngemvume kuthatha kuphela igama lomsebenzisi nephasiwedi, futhi akukho ukuqinisekiswa kwe-multi poctor noma ikhodi yesikhathi esisodwa. Lokhu kulungiswa okulula, futhi ngekhodi efanayo, singenza isayithi lethu lithumele imiyalezo futhi liphendule imiyalezo ethunyelwe kwiseva. Ukuze uqale, sizobuyela emuva kumamodeli omsebenzisi bese wengeza isibonakaliso sesikhathi esizomela ukungena ngemvume ngakunye. Sizophinde sengeze isikhombi esiyingqayizivele, esijikelezayo kwimodeli yomsebenzisi ezosetshenziselwa ukwengeza ukuphepha okwengeziwe ekungeneni kwethu. Ukuhlela amamodeli omsebenzisi, abasebenzisi / amamodeli.Spy, engeza okulandelayo
# Qiniseka ukuthi ungenisa i-UUID, isibonakaliso se-Timestamp ne-URL Generator (Reverse)
    # Faka le khodi lapha
    # Bese wengeza lo msebenzi
            TimestampSigner().unsign(key, max_age=60 * settings.AUTH_VALID_MINUTES) # Ivumelekile ngamaminithi ama-3
Qiniseka ukuthi abasebenzisi bakho / amamodeli.Spy ubukeka kanjena, ngaphandle kwamazwana (ikhodi emigqeni nge #). Ukuphula lokhu phansi, kulula. Sinokungenisa okumbalwa, i-Timestampsigner okuyinto eyinkohliso ye-cryptographic engakhiqiza ikhodi ephephile futhi ayiqinisekise ukuze uqiniseke ukuthi uvumelekile, futhi hhayi ngaphezulu kwenombolo ethile yemizuzwana. Siphinde sisebenzise i-UUID, okuyisikhombi esiyingqayizivele esikhomba umsebenzisi wethu ekusayineni koPhawu, futhi ku-URL lapho ithokheni ithunyelwa khona kumsebenzisi. Sizosebenzisa le hlaka lwe-cryptography eyisisekelo ukwakha umbono wokuqinisekiswa kokuqinisekiswa kwezici ezimbili. Ngaphambi kokuthi senze noma yini enye, ake siqhubekele ukufuduka ukuze amamodeli ethu omsebenzisi avuselelwa. Kukhombandlela nge-Phatha.Py, gijimisa imiyalo elandelayo ukwenza futhi uqedele ukuthutha.

source venv/bin/activate
python manage.py makemigrations && python manage.py migrate
Lokhu kubalulekile ngoba ngaso sonke isikhathi lapho senza izinguquko kumamodeli, sizodinga ukudala amatafula futhi sivuselele imininingwane ngezinto ezizenzakalelayo ngaphambi kokuthi sisebenzise amamodeli. Empeleni singasebenzisa amamodeli. Okulandelayo, ake sithuthukise umbono wethu wokungena ukuze uqondise kabusha ekubukeni kobuqiniso kwesibili. Kubasebenzisi / ukubukwa.py.py, susa umsebenzi wokungena ngemvume bese uqondisa kabusha kwi-URL esisanda kukhiqizwa kumamodeli omsebenzisi.
# ... ukungenisa
        if user and user.profile.can_login < timezone.now(): # Qaphela ukuthi manje sihlola ukuthi umsebenzisi angangena yini
            # Susa umsebenzi we-Author_login owawulapha
                return redirect(user.profile.create_auth_url()) # QAPHELA SIBONISA I-URL entsha lapha
            else: # Uma umsebenzisi engasebenzisi ubuqiniso be-multi-factor, vele ungene kuwo.
        else: # Uma ukungena ngemvume kungaphumeleli,
            user = User.objects.filter(username=username).first() # Le yingxenye lapho sibuyekeza khona iphrofayili yabasebenzisi
                profile.can_login = timezone.now() + datetime.timedelta(seconds=15) # Ngakho-ke abakwazi ukungena ngemvume ngemizuzwana embalwa
Ngakho-ke lokhu kulula, manje sinendlela yokuqondisa kabusha ukubukwa kokuqinisekiswa kokuqinisekiswa kwezici ezimbili lapho sakha. Siphinde sibe ne-fallback uma kwenzeka umsebenzisi engangezi inombolo yocingo. Sizokwengeza umbono oyisisekelo ukwengeza inombolo yocingo kungekudala futhi ungene ngemvume ngombhalo maduze. Okokuqala, sidinga indlela elula yokuthumela umyalezo ovela kwikhodi yethu. Ukuze senze lokhu, singakhetha kusuka kunombolo yama-API, kepha okulula ngombono wami nguTwilio. Baphinde banikeze amanani amahle amaphrojekthi amancane, kanye nezaphulelo eziningi. Dala i-akhawunti ku-wilio.com, gcwalisa imininingwane ethile ngephrojekthi yakho, uthenge inombolo yocingo, bese ukopisha okhiye bakho be-API kuzilungiselelo zakho.Pha. Ngemuva kwalokho, engeza le khodi ngaphansi kwefayela elisha, abasebenzisi / i-SMS.PY.

nano users/sms.py
# Ngenisa wonke amaphakheji adingekayo
# Le khodi ithumela umbhalo nge-Twilio
# Umsebenzi wokusiza ukuthola inombolo ngamadijithi amaningi kangaka
# Thumela umbhalo ukuze uqinisekise umsebenzisi
# Thumela umsebenzisi noma yimuphi umbhalo ngalo msebenzi
# Qinisekisa ikhodi ngalo msebenzi
# Qinisekisa isikhathi
Qiniseka ukuthi ushintsha izilungiselelo zakho ngokufanele, ungeza le migqa ngezinkinobho zakho:
# Qiniseka ukuthi ukukopisha lokhu kusuka ku-Twilio Dashboard yakho
AUTH_VALID_MINUTES = 3 # Inani lemizuzu yekhasi le-TFA lisebenza ngokushesha
Okokuqala, sizodinga amafomu emibono yethu yokufakazela ubuqiniso emibili. Ukuhlela Abasebenzisi / Amafomu.Spy, engeza ikhodi elandelayo.
# ... ukungenisa
# Ifomu lokufaka inombolo yethu yocingo
# Ifomu lokuqinisekisa
Okulandelayo, ake sakhe ukubukwa kubasebenzisi / ukubukwa.py
# ... ukungenisa
Sizodinga futhi izifanekiso zazo zombili lezi zibuke. Masingeze ithempulethi ye-MFA kuqala.

nano users/templates/users/mfa.html
Faka le khodi ye-HTML kwisifanekiso
Lokhu kuhle kakhulu. Ifomu lithumela ikhodi noma ikhodi engenalutho, futhi uzokwazi ukubona umbono esithumela ikhodi uma sithola ikhodi engenalutho. Ngemuva kwalokho siba nezinkinobho ezimbili nje, futhi ngale ndlela singathumela ikhodi ngenkinobho noma iyiphi inkinobho. Okulandelayo, sizongeza ifomu elilula ukwengeza inombolo yocingo.

nano users/templates/users/mfa_onboarding.html
Faka i-HTML elandelayo:
Leli fomu lilula kakhulu, limane nje linikeze ifomu lenombolo yocingo esidala futhi livumela umsebenzisi engeza inombolo yocingo. Lokhu kubukeka kukuhle impela! Uma nje konke kusethwe kahle, kufanele sikwazi ukuthumela imiyalezo, futhi singene umsebenzisi ngenombolo yabo yocingo ngokushesha nje lapho sengeza amaphethini we-URL. Into yokugcina esidinga ukusetha ukusetha umbono wephrofayili ukuze siqiniseke ukuthi umsebenzisi angashintsha inombolo yakhe yocingo ngaphandle kokungena ngemvume. Masingeze umbono wephrofayili kubasebenzisi / ukubukwa.Py.py. Lo mbono uzovuselela i-bio yomsebenzisi, i-imeyili, igama lomsebenzisi, nenombolo yocingo, kanye nokusivumela ukunika amandla ukuqinisekiswa kwe-multi poctor. Okokuqala, sizodinga amanye amafomu amabili kubasebenzisi / amafomu.Spy
# ... ukungenisa
Okulandelayo, singakha umbono ukuze sisebenzise womabili la mafomu. Hlela abasebenzisi / ukubukwa.Po bese ungeze ngokubuka.
# Faka lokhu okungeniswa
Sizodinga futhi ithempulethi yalombono.

nano users/templates/users/profile.html
Uzobona ukuthi le yifomu elilula, kepha line-JavaScript kuyo elithumela ngokuzenzakalelayo okuqukethwe kwefomu njengoba kuvuselelwa. Lokhu kuyasiza ukuba nakho, ngakho-ke uyakwazi ukwenza ukuhlela ngaphandle kokuthi ucindezele ukuhambisa ngaso sonke isikhathi. Okulandelayo, sidinga ama-URL amele yonke le mibono kubasebenzisi be-URL ama-patterters. Hlela abasebenzisi / ama-URLS.PY bese wengeza le khodi:
# ... Ikhodi yangaphambilini, Ukungenisa ngaphakathi
# ... amaphethini we-URL esiwafake phambilini, engeza imigqa emithathu elandelayo
Manje yisikhathi esihle sokuhlola iphrojekthi yethu. Kepha okokuqala, ake sisebenzise enye isipele.

backup
Bese usebenzisa iseva. Ngaphambi kokuthi sithumele kuseva ye-Linux, kuwumqondo omuhle ukunika amandla ukuqinisekiswa kwezici ezimbili kwi-akhawunti. Sizokwenza lokhu ngokuya kwi-URL yethu yephrofayili, / abasebenzisi / iphrofayili / ukubheka ibhokisi ukunika amandla ukuqinisekiswa ngemuva kokufaka inombolo yethu yocingo, bese kuthumela ifomu.

python manage.py runserver localhost:8000
Vakashela ekhasini le-web ngokuya kwisiphequluli sakho seWebhu, ngisebenzisa i-Google Chrome kulesi sibonelo, bese ngifaka i-URL HTTPS: // I-Localhost: 8000 / Ama-Akhawunti / Iphrofayili / Uzokwazi ukungena ngemvume uma kunesidingo futhi unika amandla ukuqinisekiswa kwezici ezimbili. Le phrojekthi idinga iseva ukuze isebenze ukuze ikwazi ukuthumela ngempela imeyili. Kepha okokuqala, sidinga indlela yokubona amaphutha. Uzobona ukuthi uma usebenzisa iseva kwimodi ye-debug, ngezilungiselelo.deBug zilingana neqiniso, iseva ikhombisa amaphutha ngokuzenzakalelayo. Ukukhombisa amaphutha ngaphandle kokusebenzisa imodi yokulungisa iphutha, okungaphephile kwiseva yokukhiqiza, kufanele sengeze umbono ngakho. Amaphutha abaluleke kakhulu esidinga ukukwazi ukuphatha yile: Iphutha 500 - Inkinga ngekhodi yethu Iphutha 404 - Ikhasi elingatholakali (i-URL ephukile) Iphutha 403 - Imvume yenqatshelwe iphutha Masingeze uhlelo lokusebenza olusha ukuphatha la maphutha, okuthiwa amaphutha.

python manage.py startapp errors
Faka lokhu kuzilungiselelo.Phy njengoba senze ngaphambili, ekuhlelweni kwe-_apps, bese uqala ngokungeza izinkomba kokubukwa okuthile kuhlelo lokusebenza / ama-URL.Phy, lapho uhlelo lokusebenza lungu-App wephrojekthi yakho ye-DJango.

handler404 = 'errors.views.handler404'
handler500 = 'errors.views.handler500'
handler403 = 'errors.views.handler403'
Lokhu konke esikudingayo ngaphandle kokubukwa kwephutha, izifanekiso kanye nokuncane kwe-Middleware. Masichaze lezo njengoba kunjalo:
# Dala ukubukwa kwakho lapha.
Okulandelayo, ake sichaze i-Middleware ukuphatha la maphutha. Sizokwenza lokhu ngokungeza kuqala ku-Middleware_Classes kuzilungiselelo.Phy, negama le-Middleware yethu.
    # ... Middleware edlule
Okulandelayo, ake sengeze i-Middleware.

from threading import local
import traceback
from django.utils.deprecation import MiddlewareMixin

_error = local()

class ExceptionVerboseMiddleware(MiddlewareMixin):
    def process_exception(self, request, exception):
        _error.value = traceback.format_exc()

def get_current_exception():
    try:
        return _error.value
    except AttributeError:
        return None

def set_current_exception(exception):
    try:
        _error.value = exception
    except AttributeError:
        print('Attribute error setting exception.')
Sifaka umsebenzi ukuthola okuhlukile kwamanje ngokusebenzisa i-Threating Local, esisiza ukulandelela noma yimaphi amaphutha kwikhodi yethu. Ngokuya kwezifanekiso, sidinga eyodwa kuphela, ngoba sichaza ngamandla isihloko lapho kubukwa. Isifanekiso sidinga nje ukunikela ngesihloko kanye ne- "Landerati", iphutha lethu lilandela kumongo.

nano errors/templates/errors/error.html
Lesi yithempulethi yethu elula kunazo zonke okwamanje, kepha yindlela elula ngayo ukubona amaphutha kuphrojekthi yethu. Okulandelayo, ake sikhubaze ukulungisa iphutha kuzilungiselelo.

nano app/settings.py
Thola lomugqa lapho isethwe khona kuyiqiniso, bese uyishintsha ibe ngamanga

DEBUG = False
Qhubeka futhi wenze isipele uhlelo lokusebenza manje. Silungele ukuphamba kwiseva ye-Linux ekude, futhi sigcine ukungeza izici kusuka lapho.

sudo backup
Ngaphambi kokuthi sibhale le khodi kwiseva, kufanele sicabange ukuthi kungenzeka kube nezinkinga ezithile ngekhodi. Ngokuya ngecala, amasayithi amukela imininingwane ethunyelwe kuwo azoba nezinkinga ezinogaxekile othunyelwa kanye nobunzima bokususa ogaxekile. Lokhu akufanele kwenzeke ngokushesha, kepha uma kwenzeka, ngokuhamba kwesikhathi sizohlola ukuthi singakwazi kanjani ukulinganisela amarobhothi ukufinyelela isiza, futhi siqinisekise ukuthi i-Akhawunti Yomsebenzisi, futhi iqinisekise ukuthi iskena lomsebenzisi nge-scan yabo noma i-scan ye-biometric, njengokuqashelwa kweminwe noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso noma ukwamukelwa kobuso. Uma ubheka isibonelo sokuqinisekiswa kwe-Multi Peotor esikuhlolile, ekukhiqizeni, izinto zingahluka. Phawula ukuthi silinganisela kanjani ama-logins wokungena, futhi amathokheni aphelelwe yisikhathi. Uma amarobhothi efinyelela kwisiza, ukuqinisekiswa kwezici ezimbili kungahle kube nzima njengoba kungafaka amakhodi ngasikhathi sinye umsebenzisi. Ukulwa nalokhu, ake sisebenzise imodeli kumamodeli omsebenzisi, ememezela ukuthi sixhumana kanjani nesiza lapho sikhonaUkuqinisekisisa ukusebenzisa ukuqinisekiswa kwe-multi poctor ngenombolo yocingo. Sizophinde sengeze inketho yokuqinisekisa nge-imeyili. Qala ngokuhlela amamodeli wabasebenzisi nge

nano users/models.py
Lokhu yilokho imodeli esikufakayo kufanele ibukeke. Asidingi zindlela, okuguquguqukayo kuphela ukugcina i-ID, umsebenzisi, isikhathi, ukuphelelwa yisikhathi, ubude nemizamo yokulwa nokuqinisekiswa kwe-multi poctor (ikhodi efana ne-123456 ithunyelwe ocingweni noma nge-imeyili).
# Ithokheni eyisisekelo esetshenziselwa ukungena kuwebhusayithi
Masingeze futhi ilungelo lomsebenzisi wethu, futhi sizosetha ngesandla manje, ngaphambi kokuphela kokufuduka ukuze sibhalise abasebenzisi abanelungelo ngokuzenzakalelayo. Kumamodeli womsebenzisi, engeza lomugqa kuphrofayela:

    vendor = models.BooleanField(default=False)
Njenganoma iziphi izinguquko ku-database, kudingeka senze izinto zokufuduka futhi sihambisa database nganoma yisiphi isikhathi lapho sihlela amamodeli.Spy Ifayela eDjango. Khumbula, ukwenza lokhu esisebenzisa kuqala umthombo
cd project-directory-you-named # (uma kudingeka)
Okwamanje, ungafaka noma imaphi ama-akhawunti owadalile njengabathengisi ngokusebenzisa igobolondo.

python manage.py shell
from users.models import Profile
p = Profile.objects.get(user__username='Charlotte')
p.vendor = True
p.save()
exit()
Manje, ake siguqule umbono wethu wokuqinisekiswa kwe-Multi Poind Moder ukusebenzisa lolu phawu. Okokuqala, kudingeka siguqule izinsiza zosizo lwe-MFA. Usebenzisa i-nano,

nano users/mfa.py

from django.utils import timezone
import random
import datetime
from django.conf import settings
from feed.middleware import get_current_request
from django.contrib import messages
from .email import send_html_email
import traceback
from .models import MFAToken

account_sid = settings.TWILIO_ACCOUNT_SID
auth_token = settings.TWILIO_AUTH_TOKEN
source_phone = settings.PHONE_NUMBER

def send_text(target_phone, text):
    from twilio.rest import Client
    try:
        client = Client(account_sid, auth_token)
        if len(target_phone) >= 11:
            message = client.messages.create(
                to=target_phone,
                from_=source_phone,
                body=text + ' Text STOP to cancel.')
    except:
        messages.warning(get_current_request(), 'There was an error sending the message.')
        print(traceback.format_exc())

def get_num_length(num, length):
    n = ''
    for x in range(length):
        n = n + str(num)
    return int(n)

def send_verification_text(user, token):
    length = user.profile.verification_code_length
    code = random.randint(get_num_length(1, length), get_num_length(9, length));
    token.token = code
    token.expires = timezone.now() + datetime.timedelta(minutes=settings.AUTH_VALID_MINUTES)
    token.save()
    send_user_text(user, "Your verification code for {} is {}".format(settings.SITE_NAME, str(code)))

def send_verification_email(user, token):
    length = user.profile.verification_code_length
    code = random.randint(get_num_length(1, length), get_num_length(9, length));
    token.token = code
    token.expires = timezone.now() + datetime.timedelta(minutes=settings.AUTH_VALID_MINUTES)
    token.save()
    send_html_email(user, "Your verification code for {} is {}".format(settings.SITE_NAME, str(code)), "<p>Dear {},</p><p>Your verification code for {} is {}. Thank you for using this code to secure your account.</p><h2>{}</h2><p>Sincerely, {}</p>".format(user.profile.name, settings.SITE_NAME, str(code), str(code), settings.SITE_NAME))

def send_user_text(user, text):
    send_text(user.profile.phone_number, text)

def check_verification_code(user, token, code):
    token.attempts = token.attempts + 1
    profile = user.profile
    result = (token != None and code != '' and token.token == code and (token.expires > timezone.now()) and token.attempts <= settings.MFA_TOKEN_ATTEMPTS)
    if token.attempts < 3 and result:
        profile.verification_code_length = 6
    elif token.attempts > 1 and not result:
        profile.verification_code_length = profile.verification_code_length + 2
        if profile.verification_code_length > settings.MFA_TOKEN_LENGTH: profile.verification_code_length = settings.MFA_TOKEN_LENGTH
    token.save()
    profile.save()
    return result
# Qinisekisa umsebenzisi usebenzisa i-imeyili noma inombolo yocingo
    token = MFAToken.objects.filter(uid=username, expires__gt=timezone.now() + datetime.timedelta(seconds=30)).order_by('-timestamp').last() # Hlunga ithokheni ngenani elidluliselwe ku-URL (a UUID)
    if not token: token = MFAToken.objects.create(user=User.objects.filter(profile__uuid=username).first(), uid=username, expires=timezone.now() + datetime.timedelta(seconds=115)) # Uma lesi seshini singadalwanga, dala
    user = User.objects.filter(id=token.user.id).first() # Thola umsebenzisi kusuka kuthokheni
    if not user and request.user.is_authenticated: return redirect(reverse('feed:home')) # Uma sezivele zigunyaziwe, zingene kuzo
    if not user: raise PermissionDenied() # Uphike uma kungekho msebenzisi otholakele
    if not user.profile.enable_two_factor_authentication and user.is_active and user.profile.check_auth_token(usertoken, token): # Bheka ithokheni eli-Author
        auth_login(request, user, backend='django.contrib.auth.backends.ModelBackend') # Ngena ngemvume umsebenzisi uma nje bengangenile ngemvume
        user.profile.mfa_expires = timezone.now() + datetime.timedelta(minutes=settings.LOGIN_VALID_MINUTES) # Setha ukuphela kokuqinisekiswa kwabo okuyiqiniso
        return HttpResponseRedirect(next if next != '' else reverse('landing:landing')) # Phinda uqondise umsebenzisi ekhasini elilandelayo
    if not user.profile.mfa_enabled: # Bheka ukuthi i-MFA inikwe amandla
        if not check_verification_time(user, token): # Bheka isikhathi
            user.profile.mfa_enabled = False # Sula inombolo yocingo
            user.profile.enable_two_factor_authentication = True # Nika amandla i-MFA
            user.profile.phone_number = '+1' # Khubaza inombolo yocingo
            user.profile.save() # Gcina iphrofayili
            auth_login(request, user, backend='django.contrib.auth.backends.ModelBackend') # Ngena umsebenzisi uma i-MFA yabo ingavunyelwe
    if request.method == 'POST' and not fraud_detect(request, True): # Uma isicelo siyisicelo seposi
        form = TfaForm(request.POST) # Faka ifomu
        code = str(form.data.get('code', None)) # Thola ikhodi
        if code and code != '' and code != None: # Qiniseka ukuthi akunalutho
            token_validated = user.profile.check_auth_token(usertoken) # Bheka ithokheni eli-Author
            is_verified = check_verification_code(user, token, code) # Bheka ikhodi
            if token_validated: # Uma konke
                if is_verified: # Ihlelekile
                    user.profile.mfa_enabled = True # Nika amandla i-MFA (uma ingekho vele inikwe amandla)
                    auth_login(request, user, backend='django.contrib.auth.backends.ModelBackend') # Ngena ngemvume umsebenzisi
                    for key, value in request.GET.items(): # Yakha i-BullString yepharamitha elandelayo (uma ikhona)
                        return HttpResponseRedirect(next) # Qondisa kabusha
            elif not token_validated: # Uma ithokheni ibingalungile
            if p.mfa_attempts > 3: # Ukube bekunemizamo eminingi kakhulu
            if form.data.get('send_email', False): # Thumela i-imeyili (noma umbhalo)
    # Nikeza ifomu (ukuthola izicelo)
Lapho sengeza kule khodi, qiniseka ukuthi ukungenisa umsebenzi ukuthumela i-imeyili. Phezulu kwefayela, ukubukwa komsebenzisi (nabanye okungeniswayo), engeza

from .mfa import send_verification_email as send_mfa_verification_email
Manje, kudingeka sibhale lowo msebenzi ngaphambi kokuba noma yini yalokhu izosebenza. Kufanele kunwebe umsebenzi wethu we-imeyili Thumela, futhi umane uthumele i-imeyili kumsebenzisi ngekhodi yokuqinisekisa.

nano users/mfa.py

def send_verification_email(user, token):
    length = user.profile.verification_code_length
    code = random.randint(get_num_length(1, length), get_num_length(9, length));
    token.token = code
    token.expires = timezone.now() + datetime.timedelta(minutes=settings.AUTH_VALID_MINUTES)
    token.save()
    send_html_email(user, "Your verification code for {} is {}".format(settings.SITE_NAME, str(code)), "<p>Dear {},</p><p>Your verification code for {} is {}. Thank you for using this code to secure your account.</p><h2>{}</h2><p>Sincerely, {}</p>".format(user.profile.name, settings.SITE_NAME, str(code), str(code), settings.SITE_NAME))
Ngakho-ke konke lokhu kusebenza kakhulu, manje sesinohlelo lokuqinisekisa lobuqiniso obuningi kuncike inombolo yocingo noma i-imeyili ukungena ngemvume. Kepha futhi sidinga indlela yokususa, noma okungenani abasebenzisi abangasebenzisana nakathu. Lezi zingaba yi-spammers, amarobhothi noma noma ngubani ongasho kahle umsebenzi wethu. Bheka umbono enginawo wokuqapha abasebenzisi kwiwebhusayithi yami:
# okungenisa impahla
from .tests import is_superuser_or_vendor # Sizodinga ukudala lolu vivinyo
    # Thola uhlu lwabasebenzisi
    return render(request, 'users/users.html', { # Buyisela Abasebenzisi ku-template
Qaphela ukuthi le khodi isebenzisa isivivinyo, sizodinga ukumemezela lolu vivinyo ku-Test.py Ifayela futhi liyithumele. Ukuhlela Abasebenzisi / Ukuhlola.Phy, ake sakhe isivivinyo.

def is_superuser_or_vendor(user):
    return user.profile.vendor or user.is_superuser
Lokhu kuhlangana nabasebenzisi / abasebenzisi.html ithempulethi, ebukeka into enje:
Qaphela ukuthi ithempulethi ifaka enye ithempulethi, abasebenzisi / _user.html. Lapho usebenzisa ithempulethi ene-subtemplate futhi ungasebenzisi ukunwebeka, umbono omuhle ukufaka i-underscore (_) ngaphambi kokuba igama lefayela linwebe, ukuze lihlukanise izifanekiso. Qaphela ukuthi lokhu kuningi kweJinja, kungenzeka ukuthi awunawo wonke lawa ma-eguquguqukayo achazwe. Kepha yilokhu okushiwo yikhodi yami.
      <small># {{user.id}} </ omncane>
Siphinde sidinge enye engezansi, thobela_acce.html. Le template kufanele ibe yifomu elisivumela ukuthi siguqukele ukuthi ngabe umsebenzisi uyasebenza yini.
Sizodinga futhi ukwengeza umbono wokuguqula umsebenzi womsebenzisi, kanye namaphethini afanele ama-URL. Ngenkathi sikulo, ake sengeze umbono wokususa umsebenzisi uma kwenzeka sidinga lokho.
# Okungenisa impahla
    success_url = '/' # Ukuqondisa kabusha ku-URL Yempumelelo
    def test_func(self): # Hlola uma umsebenzisi i-superuser futhi unemvume yokususa
Ngenkathi lokhu kusebenza lapho kunesidingo, ukususa umsebenzisi akufanele kudingeke isikhathi esiningi, singakwazi nje ukuguqula ukubonakala kwabasebenzisi abavakashela isiza uma kudingeka sixoshe. Amaphethini we-URL esingezele abukeka kanjena. Nge-nano, hlela abasebenzisi / ama-URL.Spy bese wengeza le migqa:

nano users/urls.py
Imigqa kufanele ihambe ohlwini lwezindlela zokubukwa komsebenzisi, ngaphambi kokuphela "]" kodwa ngemuva kokuqala "[".
# ...
# ...
Manje, qiniseka ukuthi ubuyela isiza ukuze uwayilande kwiseva yeWebhu sizoqhubeka nokusebenza. Kusuka kulayini womyalo,

sudo backup
Manje isayithi lethu lisekelwa. Ngakho-ke manje sinezinto ezimbalwa eziwusizo ezengeziwe. Kepha kuthiwani ngesithombe esikhulu lapha? Le khodi ayitholakali kwi-Intanethi, asinaseva yemeyili okwamanje, futhi sidinga ukwandisa uhlelo lwethu lokusebenza ukufaka inqubo ephelele yokuqinisekisa kanye nezakhiwo ezibushelelezi zokusisiza ukuba sihlole indawo, kanye nezinqubomgomo eziphephile zokuqinisekisa abasebenzisi abanenhlanhla. Sizofika kukho konke lokhu. Into ebaluleke kakhulu manje izothola le khodi online, esingayenza ngemigqa embalwa ye-bash kuseva ye-Ubuntu. Uzodinga ukuqasha iseva kulokhu, ngaphandle kokuthi uneseva ekhaya kanye nokubhaliswa kwe-Intanethi kwebhizinisi okuvumela ukuthi uvule amachweba. Mina uqobo ngisebenzisa iwebhusayithi yami kwi-HP Z440 efakwe efulethini lami, kepha imvamisa ishibhile kakhulu ngezidingo eziyisisekelo ukuqasha iseva yangasese ebonakalayo (VPS). Khumbula ukuthi ikhodi esisebenzayo manje iyincanyana, izodinga ukunakekelwa futhi ithuthukiswe ngaphambi kokuba sikhonaSilungele ukusebenzisa lokho esifanele sakhe umkhiqizo. Qinisekisa ukuthi uqikelela ukuthi wenzani nge-Intanethi, qiniseka ukuthi kuleli sayithi esidlangalaleni kwiWebhu kwiseva ye-Linux, unecebo lokuvimba ukusebenzelana okungafuneki ngewebhusayithi yakho. Lokhu kungenzeka kube yinkinga ekuqaleni, kepha sizobheka izixazululo ezahlukahlukene zokulwa nalokhu, kufaka phakathi ukufundwa komshini, ubuhlakani bokufakelwa kanye nombono wekhompyutha. Lapho iba yinkinga, bheka okunye kulo mbhalo ukuthola isisombululo. Mayelana nokuqasha i-VPS, kunezindawo eziningi ongahamba kuzo. I-Google Cloud inamaseva we-VPS, ionos, Kamatera, Ama-Amazon AWS, kanye nabahlinzeki abaningi bahlinzeka ngezixazululo ze-Cloud Server ezizofanela izidingo zethu. Uzodinga uchofoze amafomu abo bese ukhetha uhlelo ukuze uqalise. Ungahamba nohlelo oluyisisekelo nanoma yimuphi umhlinzeki, kepha qiniseka ukuthi umhlinzeki ukuvumela ukuthi uvule amachweba we-port port server ukuthumela i-imeyili (lokhu kufanele kube yiPort 587 nePort 25), abanye abahlinzeki bavimba la machweba. Kuze kube manje ngibe nayoIsipiliyoni se-EST nge-Ionos neKamatera, bobabili bazongivumela ukuthi ngithumele i-imeyili engenamkhawulo futhi amanani abo ashibhile. Uzoxhuma kwiseva yakho entsha ngaphezulu kwe-protocol ebizwa nge-SSH noma i-Shell evikelekile, evumela ukuthi ukhombe ukude neseva njengekhompyutha yakho, kusuka kwikhompyutha yakho. Lapho usetha iseva, umhlinzeki wokusingathwa kungenzeka azokucela ukuthi wengeze ukhiye we-SSH, noma azokunikeza igama lomsebenzisi nephasiwedi. Ukhiye we-SSH ukuthi uzongena kanjani kwiseva kusuka kulayini womyalo ukuhlela ikhodi. Sebenzisa izinketho ezingezansi ze-SHSH-keygen ukukhiqiza i-SSH

ssh-keygen
Gcina ifayili bese ubhala phansi uma udinga, kuhle ukushintshanisa okhiye bakho be-SSH uma ungakakwenzi. Manje, ungasebenzisa umyalo olandelayo ukubona ukhiye wakho we-ssh. Uzofuna ukuyikopisha kwiseva yakho eyihlane ukuze ukwazi ukuyisebenzisa ukuze uqinisekise.

cat ~/.ssh/id_rsa.pub
Uma ungakwazanga ukubona ukhiye we-SSH lapho uthayipha lowo myalo (intambo ende yamadijithi nezinhlamvu eziqala nge- "SHSH-RSA AAA"), zama ukukhiqiza ukhiye we-RSA (avikelekile, ngakho-ke ikhodi elandelayo izokhiqiza ukhiye we-4096 bit RSA SSH.

ssh-keygen -t rsa -b 4096
Dala i-VPS esebenzisa ubuntu, noma kunjalo uhlela ukwenza lokhu. Lapho usudale i-VPS ngokuchofoza amafomu kwiwebhusayithi yabahlinzeki (Kamatera.com, ionos.com noma efanayo), uzofuna ukungena ngemvume. Ukusebenzisa lokhu, sebenzisa i-SSH Command nge-XX.xx.xx.xx). Uzodinga futhi ukuzwela igama lomsebenzisi elizenzakalelayo kwiseva esidale, isibonelo, ubuntu.

ssh ubuntu@XX.XX.XX.XX
Ungacelwa iphasiwedi, uma ucelwa iphasiwedi, uyifake. Ngeke sisebenzise igama lomsebenzisi elizenzakalelayo, ngakho-ke ake siqale ngokwakha umsebenzisi omusha futhi sengeze ukhiye we-SSH kwi-akhawunti yabo. Ake siqale ngokungeza ifayela elisha le-SHSHD_CONFIG, elitshela iseva ukuthi ingayisebenzisa kanjani i-SSH.

nano sshd_config
# Leli ifayela lokucushwa kwe-SSHD serversi ebanzi.  Qonda
# sshd_config (5) ukuthola eminye imininingwane.
# Le sshd yahlanganiswa nePath = / USR / Local / SBIN: / USR / Local / Bin / BBIN: / USR / Bin: / SBIN: / BBIn: / I-USR / imidlalo
# Isu elisetshenziselwa izinketho ku-sshd_config ezenzakalelayo ethunyelwe nge
# I-OpenSsh ukucacisa izinketho ngenani lazo elizenzakalelayo lapho
# kungenzeka, kepha ubashiye baphawule.  Izinketho ezingafuneki zidlula
# inani elizenzakalelayo.
# IPort 22
# Ikheli noma iyiphi
# I-Assistdress 0.0.0.0
# Isilalelisi ::
# I-Hostoty / njr / ssh / ssh_host_rsa_key
# I-Hostoty / njr / ssh / ssh_host_ecda_key
# I-Hostoty / njr / ssh / ssh_host_Ed25519_key
# Ama-CIPHERS NOKUFUNDA
# I-Requekeylimit Okuzenzakalelayo Akukho
# Ukukhanisa
# I-Syslogfacility Author
# I-Loglevel Info
# Ukuqinisekiswa:
# I-LogingraceTime 2m
# Imvumerrootlogin yenqabela-iphasiwedi
# I-Strictmode Yebo
# Maxiauntyd 6
# Maxsessetions 10
# Lindela .ssh / Authorized_lides2 ukuze unganakwa ngokuzenzakalelayo ngokuzayo.
# AuthorisespricipalsFile Akukho
# Igunya eligunyaziwe
# Authorizedkeysommanduser akekho
# Ukuze lokhu kusebenze futhi uzodinga izinkinobho zomphathi ku / njll / ssh / ssh_ukwazisa_wo
# I-Hostbasedauthentication Cha
# Shintsha uye ku-yebo uma ungathembi ~ / .ssh / owaziwa_wokhweni
# I-Hostbasedausentication
# Aziwazi phansi
# Musa ukufunda umsebenzisi ~ /.
# Ama-inoreerhosts yebo
# Ukuvimbela amaphasiwedi wombhalo acacile e-turnelited
# Imvume yokuvunyelwa cha
# Shintsha uye ku-Yebo ukuze unike amandla amaphasiwedi wokuphendula inselelo (izingqinamba ze-Qaphela nge
# Amamojula athile we-pam kanye nemicu)
# Izinketho zeKerberos
# Kerberosauthentication Cha
# KerberosorlocalCalpassw Yebo
# Kerberosticketleapple Yebo
# Kerberosgetaftoken cha
# Izinketho ze-GSSAPI
# Gssapiausentication cha
# GSSAPICLEANUUPCRIONSYISO YES
# Gssapeistretcetcedcheck yebo
# Gssapikeyexchange cha
# Setha lokhu ku- 'Yebo' ukunika amandla ubuqiniso be-PAM, ukucutshungulwa kwe-akhawunti,
# kanye nokucutshungulwa kweseshini. Uma lokhu kunikwe amandla, ubuqiniso be-pam buzokwenza
# uvunyelwe ngokusebenzisa i-kbdinterActinectiveIveliveActicution futhi
# Iphasiwediauuntution.  Kuya ngokucushwa kwakho kwe-pam,
# Ukuqinisekiswa kwe-Pam nge-kbdinterInterActiveIveIvelication kungadlula
# ukuhlelwa kwe- "imvumeRootlogin ngaphandle kwephasiwedi".
# Uma ufuna nje i-akhawunti ye-PAM kanye neseshini kuhlola ukugijima ngaphandle
# Ukuqinisekiswa kwe-PAM, bese unika amandla lokhu kepha usethe i-passwoophauthentication
# kanye ne-kbdintercractiveausetion to 'no'.
# Vumela inqothulwa Yebo
# Vumela i-Yebo
# Ama-Gatewayports no
# X112displayset 10
# X11uselocalhost Yebo
# Permittty yebo
# I-PhrintaSallog Yebo
# Tcpkeepalive yebo
# Imvume a
# Ukucindezela kubambezelekile
# I-Clientierliventerval 0
# I-ClientliveCountMax 3
# Ama-etsedns cha
# PidFile /run/sshd.pid
# I-Maxstartups 10: 30: 100
# I-Permittuntnen cha
# I-ChrootDirectory akekho
# VersionAddendum akekho
# ayikho indlela ye-banner ezenzakalelayo
# Vumela iklayenti ukuthi lidlulise ukuguquguquka kwemvelo yendawo
# ukweqa okuzenzakalelayo kwezinto ezingaphansi
# Isibonelo sezilungiselelo eziphezulu kakhulu kumsebenzisi ngamunye
# Qondanisa umsebenzisi anoncvs
# X111Noming No
# I-SUVTTCPPRAMING NO
# Permittty cha
# I-Forcommand CVS Server
Khumbula, i-CTRL + X ne-Y ukuze ugcine ifayili. Okulandelayo, ake sibhale umbhalo oyisisekelo obizwa ngokuthi ukuqalisa (konke ku-Default Home Directory yomsebenzisi wethu).

nano initialize
Faka le migqa kufayela, ukufaka esikhundleniNgokhiye wakho we-SSH uthola usebenzisa ikati. (.ssh / id_rsa.pub)
# ! / BIN / Bash
Ukukuhamba ngaleli fayela, ake siqale umugqa ngomugqa. Umugqa wokuqala utshela umhlanganisi ukuthi lokhu kungumbhalo we-bash. Ngemuva kwalokho sifaka ukuncika, ukukopisha i-SHSHD_Config kwisikhombi esifanele, ukuqala kabusha i-SSH, ukukhiqiza okhiye be-SSH ngezimpande, ukwengeza igama lomsebenzisi '(Ungalikhetha igama olithandayo kulokhu igama lesengezo nephasiwedi ekhubazekile manje). Siphinde sengeze iqembu eqenjini leSudo, sikhiqize ukhiye wabo we-SSH, engeza ukhiye wethu kwizinkinobho ezigunyaziwe kanye nezabo, bese uphrinta ukhiye wazo. Lo msebenzisi omusha uzoba yindlela esingena ngayo esizeni. Esigungwini esisha, qhubeka uphinde uvule iseva futhi.

ssh team@XX.XX.XX.XX
Akufanele udinge iphasiwedi kulokhu, ukuba njengoba une-SSH ukhiye. Siphinde sikhule ukungena ngemvume ngephasiwedi ukugcina isiza siphephe kakhulu. Manje, le seva iqala ngokungenalutho ngokuphelele ngaphandle kolwazi ngalo. Ake siqale ngokubopha iphrojekthi yethu kusuka ku-git ukuze sikwazi ukulanda bese siyiqhuba emshinini wakude. Eseva ekude exhunywe nge-SSH, okokuqala phrinta ukhiye wakho we-SSH:

cat ~/.ssh/id_rsa.pub
Okulandelayo, unamathisela lolu ke ukhiye kuzilungiselelo ze-git ezinjengasenza ngaphambi kokusetha indawo yethu yokubeka i-git. Manje senzeka sihlanganise iphrojekthi yethu ngqo kwiseva. Qiniseka ukuthi ususekele iphrojekthi yangakini kuqala ngakho kuseva ye-git ukulanda.

git clone git://github.com/you/yourproject.git
Iphelele. Manje wonke amafayela alapha. Singababona nge-LS

ls
Manje, ake siqale ukusetha iseva. Okokuqala, ukopishe umkhombandlela wakho wephrojekthi ube igama elilula, elikhumbulekayo esizolisebenzisa kulo msebenzi.

cp -r yourproject whatyoucalledit
Lapho "i-WhatYouCalledit" yigama elisha lephrojekthi yakho. Okulandelayo, sizodinga ukwakha ukusetshenziswa okuyisisekelo ukusetha iseva. Sizosindisa lokhu kusetshenziswa futhi sikusebenzise ngokuzayo. Ukwakha lo msebenzi, ake sakhe umsebenzisi kanambambili ukuchaza ukuthi sihlela kanjani umbhalo. Usebenzisa i-Bash, Hlela / USR / Bin / Brict

sudo nano /usr/bin/ascript
Qinisekisa ukusebenzisa i-sudo lapho ngakho-ke unemvume yokuhlela ifayela. Kuleli fayela, engeza le migqa:
# ! / BIN / Bash
    echo "# ! / Bin / Bash ">> / USR / Bin / $ 1
Khumbula lo mbhalo uthatha impikiswano, igama lesiskrisithi, njenge- $ 1. Okokuqala kuhlola ukuthi ngabe ifayela likhona, noma liyakha ngenye indlela, lingeza umugqa wokuqala ukumemezela iskripthi, lishintsha, liyengeza igama laso ku- / njll / imibhalo elisivumela ukuba sigcine amagama emibhalo esiyidala. Uma ifayela selivele likhona, vele ushintshe izimvume bese ulihlela. Gcina ifayili, futhi ngokulandelayo sizoshintsha izimvume. Uma nje sisebenzisa lo mbhalo, ngeke siphinde sikwenze lokho.

sudo chmod a+x /usr/bin/ascript
Iphelele. Manje ake sakhe umbhalo obizwa nge-SETUP. Okokuqala, hhayi ukweqisa, kepha bheka ukuthi umbhalo wami wokusetha ubukeka kanjani. Sizohamba ngalokhu okubonakala ngalo mbhalo kuphrojekthi yakho, ngeke udingeke konke embhalweni wami ukuqala.
# ! / BIN / Bash
# sudo chmod a + x script / abasebenzisi
# ./script/usseretup
# ssh - keygen
# Isiqondisi sephrojekthi
# Imiyalo ye-Log
# I-Nano Config
# GIT Config
# Buyekeza futhi ufake
# Nika amandla i-Clamav Antivirus
# Setha igama lomsingathi
# Setha Postgres
# Setha Database Isipele
# Khubaza ama-IPTAble
# Faka i-Bitdefender
# Setha Postfix Postfix
# Dala ama-Dris
# Setha i-Virtuelvv
# Thola futhi wakhe ukuncika
# Setha imithetho ye-firewall
# Faka ukuncika kwe-Pypi
pip3 install --upgrade opencv-python # == 4.5.4.60
pip3 install --upgrade opencv-contrib-python # == 4.5.4.60
# Faka ukufaka i-OpenCv-Python == 4.5.5.64
# Faka i-Pip Opencv-Porib-Python == 4.5.5.64
# Faka i-certot
# Run Certot
# Layisha kabusha iseva yemeyili
# Kopisha Certs
# sudo CP /ETC/LEDENENCRYPTPT/LIVE/FEMMEBabe.com/privkey.pem
# sudo CP /ETC/LEDENENCRYPTTT/LIVE/FEMMEBabe.com/Cert.pem cert.pem
# Patch venv
# Setha izilungiselelo zomsebenzisi
# Setha izimvume
# Ithimba leSudo Chewn -R: Abasebenzisi / Var / run /
# I-Sudo Clown Root: Izimpande / Run / Sudo / TS -r
# sudo chmod 664 db.sqlite3
# Idatha ye-Sudo Chew www ye-WWW: Abasebenzisi i-DB.SQLite3
# Kopisha ukuhlela kanye nezimvume
# Setha database
# Faka i-PAM Config bese ususa i-SHS Config enephutha
# Sudo Sed-'-E' $ D '/tc/pam.d/sshd
# sudo sed-'-E' $ D '/ njll / Iphrofayili
# Kopisha imibhalo yeBin bese usetha izimvume
# Phinda ulayishe kabusha futhi unike amandla izinsizakalo
# Nika amandla amamojula we-Apache
# sudo a2dismod mpm_event
# sudo A2Dismod MPM_Urwor
# sudo a2enmod mpm_prefreft
# Khubaza isiza esizenzakalelayo
# Nika amandla isiza sethu
# Layisha kabusha i-daemon bese uqala kabusha i-apache, i-postfix kanye ne-opendkim
# Setha izimvume
# Shintsha ukucushwa
# Injini yamagama
# Isethaphu git
# Khombisa i-IPv6 ne-OpenKim ukuze kuculwe isizinda
# Ukusetha kuqediwe
Lokho ukusetha okuningi! Ngamafuphi, le khodi ifaka imiyalo, ilungiselela i-nano ne-git, amakhophi amafayela, ukulanda kanye nokufaka i-postGeSQL, ilungiselela i-antivix (i-firewall esetshenzisiwe, ukuncipha, ukuncipha, ukuncika, ukuncika, ukuncika, ukuncika, ukuncika, ukuncika, ukuncika, ukuncika, ukuncika, ukuncika, ukuncika, ukuncika, ukuncika, kuncishisiwe, Ukufaka Izitifiketi bese usetha iseva, ukufaka ukucushwa, kuqala futhi kunikeze amandla i-sever, abezele ukushintshana, amasethi Imvume, bese kuphrinta ikheli le-IP, IPv6 kanye nokhiye we-IP, I-IPV6 ne-Opendkim Key. Kulula, kepha kubukeka njengekhodi eningi. Ngeke sidinge okuningi lokhu ngoba asinawo ukuncika, asisebenzisi i-celery, i-celerybeat noma i-daphne, kepha sizofaka ezinye zazo ukuze ziqale. Qaphela ukuthi le khodi inesizinda esimemezelwe kaningana. Sizodinga futhi ukuthenga igama lesizinda (okuyimali encane yonyaka). Ngincoma i-squarespace yokuthenga isizinda, ukwakheka kwawo kuyintoenembile futhi kulula ukuyisebenzisa. Ungathenga noma yisiphi isizinda sokukhetha kwakho, kepha ngisebenzisa isizinda femmebabe.com kulesi sibonelo. Uma usuthengile isizinda, ikhanda kwiphaneli yokucushwa kwe-squarespace DNS bese wengeza irekhodi elikhomba isizinda sakho kwiseva ngekheli le-IP. Kufanele kubukeke kanjena: @ A xx.xx.xx.xx Ngo-opharetha o- @ njengathi, okusho ukuthi zonke izizinda ngaphansi kwalesi sizinda futhi isizinda sezimpande sizophinda siqondise kuseva. Kunamarekhodi amaningi okumemezela, kepha singadlulela kulokhu uma sesikulungele ukuthumela imeyili. Khumbula, kungathatha izinsuku ezimbalwa ngaphambi kokuba ukwazi ukuthumela ngempumelelo imeyili kwiseva. Amarekhodi e-DNS Sibeka kuzothatha isikhathi sokusakazeka. Noma kunjalo, okuwukuphela kwerekhodi esidinga ukuqala ngalo kuyirekhodi. Ngakho-ke manje singakwazi ukugcwalisa umbhalo ongezansi ngokuya ngephrojekthi yethu bese uyiqhuba. Ake siqale ngombhalo omncane wokusetha ukuze nje ufake lokho esikudingayo ngentuthuko eyisisekelo. Ngeke sisebenzise ukuncika okuningi noma i-postgresql okwamanje, sizoveleUp iseva eyisisekelo ye-HTTP futhi ukhathazekile ngokuqinisekisa lapho kwenziwa. Khumbula, ukuthola isitifiketi se-HTTPS futhi usebenzise iseva ngokuphephile, sizodinga ukuthenga isizinda kanye nokuqasha iseva. Okwamanje, buyisela "iqembu" kuleli fayela ngegama lomsebenzisi wakho, "i-DR" nge-Directory yephrojekthi yakho, bese unikeza i-imeyili yakho nesizinda kumathegi we- <>. Ngaphezu kwalokho, ngaphambi kokuba siqhube le khodi, kudingeka siguqule izilungiselelo kwi-firewall umhlinzeki wokusingathwa asekela, uma ekhona. Imvamisa lokhu kuyithebhu 'yenethiwekhi' yomhlinzeki wakho wokubamba, noma uma uzindla, engxenyeni ethi 'Ukudluliselwa Ethekwini' kwe-router yakho. Futhi uzofuna ukusetha i-IP e-TOSTIC nge-router yakho ngekheli lomshini wakho weseva, uma usebenzisa ukuzibamba. Uzodinga ukuvula amachweba alandelayo wokufinyelela / wokubhala ukufinyelela. 22 (ssh) 25 (Imeyili) 587 (Imeyili) I-110 (Iklayenti le-imeyili) I-80 (http) 443
# ! / BIN / Bash
# Imiyalo ye-Log
# I-Nano Config
# GIT Config
# Buyekeza futhi ufake
# Nika amandla i-Clamav Antivirus
# Setha igama lomsingathi
# Setha Database Isipele
# Khubaza ama-IPTAble
# Setha i-Virtuelvv
# Faka i-certot
# Run Certot
# Setha izilungiselelo zomsebenzisi
# Setha izimvume
# Ithimba leSudo Chewn -R: Abasebenzisi / Var / run /
# I-Sudo Clown Root: Izimpande / Run / Sudo / TS -r
# Phinda ulayishe kabusha futhi unike amandla izinsizakalo
# Nika amandla amamojula we-Apache
# Layisha kabusha i-daemon bese uqala kabusha i-apache, i-postfix kanye ne-opendkim
# Khombisa i-IPv6 ne-OpenKim ukuze kuculwe isizinda
Ngaphambi kokusebenzisa le khodi, qiniseka ukuthi isizinda osithengile sixhumeke kwiseva. Ukuze wenze lokhu, vula i-terminal emshinini wangakini, bese uqhuba lo myalo ngesizinda sakho:
ping femmebabe.com # Faka isizinda sakho lapha, ngemuva kwe-ping
Uma konke kubukeka kahle futhi iseva ithumela izimpendulo, sikulungele ukusebenzisa iskripthi bese sifaka amaphakheji kanye nokuqala, vumela futhi uqinisekise iseva yethu ye-Apache. Lokhu akuyona yonke ukusetha okudingekayo ukumisa i-PostFix, sizobheka lokho kusethwa kamuva. Okwamanje, gijimisa le khodi yokusetha futhi kufanele uthathe imizuzu embalwa ukufaka futhi iqinisekise iseva yakho. Nakulokhu futhi, qiniseka ukufaka igama, i-imeyili negama lesizinda kwiskripthi ngokwegama owathengile. Manje njengoba iseva ihlinzekiwe, ungaya kwi-URL kunoma yisiphi isiphequluli sewebhu bese uhlola ukuqiniseka ukuthi iseva isebenza nge-HTTPS. Uma kungenjalo, zama ukulinda isikhashana ukuthi amarekhodi e-DNS ukubamba bese ugijimisa umyalo olandelayo ukuze uzame kabusha isitifiketi se-certbot:

sudo certbot --apache --non-interactive --agree-tos --domains <domain>.com --email <youremail>@gmail.com
Uma nje usuhlele konke kahle, kufanele ukwazi ukufinyelela ikhasi elizenzakalelayo le-Apache ukuze wazi ukuthi ikhodi yakho isebenza futhi ibonisa ikhasi lewebhu bukhoma. Okulandelayo, ake sihlele amasethingi.py ukushintsha imodi yethu yokulungisa iphutha ekukhiqizeni. Sizophinde futhi silungiselele isizinda kuzilungiselelo, kanye nama-IPs angaphakathi.

nano yourproject/settings.py
Kuzilungiselelo, shintsha / engeza le migqa.
# Ukulungiswa kwesayithi
Manje, sizodinga ukumisa i-Apache2. Ake sihlele ifayela le-Config Sizohambisa nalomugqa:

sudo nano /etc/apache2/sites-available/femmebabe-le-ssl.conf
Leli fayela lokuhlela kufanele libe negama lethu lesizinda kulo, negama lomsebenzisi nephrojekthi. Ngisebenzisa igama lesizinda femmebabe.com, Iqembu lomsebenzisi, negama lephrojekthi we-FEMMEBabe.

ServerSignature Off
ServerTokens Prod
<IfModule mod_ssl.c>
<VirtualHost *:80> 
	Redirect permanent / https://femmebabe.com/
</VirtualHost>
<VirtualHost *:443>
	ServerName femmebabe.com
	ServerAdmin team@femmebabe.com
	DocumentRoot /var/www/html

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
	
	Alias /static /home/team/femmebabe/static
	<Directory /home/team/femmebabe/static>
		Require all granted
	</Directory>

Alias /media/icons /home/team/femmebabe/media/
<Directory /home/team/femmebabe/media>
Require all granted
</Directory>

	<Directory /home/team/femmebabe/femmebabe>
		<Files wsgi.py>
			Require all granted
		</Files>
	</Directory>

	WSGIScriptAlias / /home/team/femmebabe/femmebabe/wsgi.py
	WSGIDaemonProcess femmebabe python-path=/home/team/femmebabe/ python-home=/home/team/femmebabe/venv header-buffer-size=100000000000 user=team
	WSGIProcessGroup femmebabe
	WSGIApplicationGroup %{GLOBAL}
	
	<Directory /home/team/femmebabe/static>
                Options Indexes FollowSymLinks
                AllowOverride All
	</Directory>

	<IfModule mod_rewrite.c>
		RewriteEngine on
		RewriteCond %{REQUEST_URI} \.(css|webp|webm|gif|png|mp3|wav|jpeg|jpg|svg|webp)$ [NC]
		RewriteCond %{HTTP_REFERER} !^https://femmebabe.com/media/.*$ [NC]
		RewriteRule ^(.+?)/$ /media/$1 [F,L]
	</IfModule>

	Include /etc/letsencrypt/options-ssl-apache.conf
	SSLCertificateFile /etc/letsencrypt/live/femmebabe.com/fullchain.pem
	SSLCertificateKeyFile /etc/letsencrypt/live/femmebabe.com/privkey.pem

	Header set X-Frame-Options: "SAMEORIGIN"
	Header set Access-Control-Allow-Origin "https://femmebabe.com"

	TimeOut 60000
	LimitRequestBody 0

	<FilesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|webp|JPG|JPEG|wav|mp3|mp4|public|js|css|swf|webp|svg)$">
		Header set Cache-Control "max-age=30, public"
	</FilesMatch>
</VirtualHost>
</IfModule>
<IfModule mod_ssl.c>
<VirtualHost *:80>
	ServerName femmebabe.com
	ServerAdmin team@femmebabe.com
	DocumentRoot /var/www/html

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined

	RewriteEngine on
	RewriteCond %{SERVER_NAME} =femmebabe.com
	RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
</IfModule>
Qiniseka ukuthi uthatha isikhundla segama lephrojekthi, izinkomba, nesizinda kule khodi yesibonelo lapho ulungiselela iseva yakho. Manje, sizodinga ukukhubaza isiza esizenzakalelayo. Lokhu kungenziwa kusetshenziswa i-bash.

sudo a2dissite 000-default-le-ssl
sudo a2dissite 000-default
sudo a2dissite default-ssl
Okulandelayo, singavumela indawo ezenzakalelayo futhi silayishe kabusha i-Apache2, futhi sisebenzisa i-bash. Khumbula ukufaka esikhundleni se-femmebabe ngegama lefayela olimemezele lapho uhlela / njll / apache2 / amasayithi-atholakalayo /.

sudo a2ensite femmebabe-le-ssl
sudo systemctl reload apache2
Buyela esizindeni sakho e-Navbar. Kufanele ubone isiza osilungiselele kwisiphequluli sakho sewebhu. Siyakuhalalisela! Uma ungakuboni, kungadingeka ukuthi wenze izinguquko ezithile. Buyekeza ngokucophelela izilungiselelo kwiphrojekthi yakho, ukucushwa kwe-Apache, futhi uqiniseke ukuthi awunawo amaphutha, futhi uqhube imiyalo elandelayo ukubheka iphrojekthi ngamaphutha.

cd projectname
source venv/bin/activate
python manage.py check
Uma unamaphutha kuphrojekthi yakho yePython, yilandelela lapho zikhona futhi zilungise. Kungenzeka ungakwazi ukubona wonke amaphutha akho kuye ngokuthi akuphi, ngakho-ke uma unephutha elisho nje ukuthi "i-poppeate akulona ifayela elilandelayo endaweni ebonakalayo, irejista.Py, ukudalula iphutha.

nano venv/lib/python3.12/site-packages/django/apps/registry.py
Skrolela ku-Line 83, lapho kwaphakanyiswa khona iphutha le-RuntiteTime (i-RunThereRorr ("i-Vope () ayikho i-Rentrant"), bese wengeza amazwana ngaphambi kwalomugqa, bese unezela, nge- Lokhu kubukeka kanjena:
                # Vimbela izingcingo ezihlanzekile ukugwema ukusebenzisa i-appconfig.ire ()
                # Izindlela kabili.
# Phakamisa i-RunTimeError ("i-Vope () ayilona i-Reentrant")
Ungahlola iphrojekthi futhi futhi uveze iphutha.

python manage.py check
Ngemuva kwalokho ungabona iphutha bese ulilungisa. Uma usuhleliwe futhi ikhodi ihlanganisa ngaphandle kwamaphutha, qiniseka ukushintsha ifayela emuva ukuze kubukeke kanjena:
                # Vimbela izingcingo ezihlanzekile ukugwema ukusebenzisa i-appconfig.ire ()
                # Izindlela kabili.
# self.appApp = {{}
Inikezwe iseva ku-inthanethi, lapho senza ezinye izinguquko kukho, kudingeka sisebenzise umyalo olandelayo wokulayisha kabusha iseva:

sudo systemctl reload apache2
Kuhle! Kepha kuthiwani ngokuthumela imeyili? Ukuqala ukuthumela i-imeyili, sizodinga okokuqala ukuvuselela ukucushwa kwesizinda. Lokhu kufanele kube kuphaneli yakho ye-DNS e-squarespace, noma isiphi isaga segama lesizinda osikhethile. Sizodinga futhi ukufaka futhi singeze ukucushwa, futhi sigijime imiyalo embalwa. Okokuqala, ake uthole ikheli le-IPv6 leseva. Sizobe sesivula ama-DNS akho bese singeza amarekhodi. Ukuthola ikheli le-IPV6 leseva, sebenzisa lo myalo:

ip -6 addr
Manje, singangeza amarekhodi alandelayo ezilungiselelweni ze-DNS. Amarekhodi ami abukeka kanjena. Kodwa-ke, kumarekhodi akho, kufanele ungene esikhundleni sekheli le-IP nge-IP yakho (hhayi 75.147.182.214, lokho okwami). Also add your domain in place of femmebabe.com, as well as your IPV6 address found with the previous command (you can't use mine, fe80::725a:fff:fe49:3e02). Ungakhathazeki nge-DomainKy manje, lokhu kudaliwe lapho sisetha i-Postfix, iseva yemeyili, nge-OpenKim, bese iphrinta ukhiye. Sizolungiselela lokhu okokugcina. @ » A N / a 75.147.182.214 @ » I-MX Okuthenyalwayo femmebabe.com @ » Uhlobo lwenkezelo N / a femmebabe.com @ » Txt N / a Txt @ v = SPF1 MX IP75.147.182.21414.214141: FE80 :: FFF :: 725a: Fff: FF29: 3E02 ~ BONKE Okuzenzakalelayo._bimi Txt N / a v = bimi1; l = https: //femmebabe.com/Media/static/FEMMEBabe.svg _dmarc Txt N / a v = DMARC1; P = akukho Semonly._domainekey Txt N / aManje, sizodinga ukwengeza ukucushwa okuthile kokuphikelela kwe-postfix. Esikudingayo ukukwenza qiniseka ukuthi sifaka esikhundleni segama lesizinda, i-femmebabe.com, ngegama lesizinda olisebenzisayo. Ake sibheke wonke amafayela we-Config ngamunye ngamunye, bese uwafaka ku-Directory ebizwa nge-Config kuphrojekthi yethu, ukuze ufake ku-OS.

nano config/etc_postfix_main.cf
Faka lo mbhalo kufayela
# Bona /usr/share/postfix/main.cf.Dist for a amazwana, inguqulo ephelele ephelele
# Okucacisiwe Okucacisiwe: Ukucacisa igama lefayela kuzodala owokuqala
# umugqa walelo fayela elizosetshenziswa njengegama.  Okuzenzakalelayo kwe-Debian
# yi / njll / imeyli.
# myorigin = / njll / imeyli
# I-Apy .Dodon ngumsebenzi we-mua.
# Ukungangenwe umugqa olandelayo wokukhiqiza "izexwayiso imeyili ebambezelekile"
# I-Delay_Warning_Time = 4H
# Bona i-http: //www.postfix.org/compurible_areadme.html - Okuzenzakalelayo ku-3.6 on
# Ukufakwa okusha.
# Amapharamitha we-TLS
# Ukucushwa kweMarter
I-Config elandelayo!

nano config/etc_postfix_master.cf
Faka le migqa:
# 
# Ifayela lokucushwa kwe-PostFix Master Port.  Ngemininingwane ngefomethi
# wefayela, bheka i-Master (5) Ikhasi Lezandla (Umyalo: "Indoda 5 Master" noma
# Ku-inthanethi: http://www.postfix.org/master.5.html).
# 
# Ungakhohlwa ukwenza i- "Postfix Layisha kabusha" ngemuva kokuhlela leli fayela.
# 
# ===================================================================
# Uhlobo lwensiza yangasese i-UNrCRIV Chroot WakeUp MaxProc Command + Agars
# (Yebo) (Yebo) (cha) (never) (100)
# ===================================================================
# I-SMTP INET N - Y - 1 Postscreen
# I-SMTPD Pass - - Y - - I-SMTPD
# DNSBLOG UNIX - - Y - 0 DNSBlog
# tlsproxy unix - - y - 0 tlspoxy
# Khetha eyodwa: Nika amandla ukuhanjiswa kwamakhasimende we-loopback kuphela, noma kunoma yiliphi iklayenti.
# 127.0.0.1.0.1:SUBUSIZO
# -O syslog_name = postfix / ukuhanjiswa
# -O smpd_tls_secechel = encrypt
# -Ombd_sasl_auth_able = yebo
# -O smtpd_tls_auth_only = yebo
# -O smtpd_reject_unlisted_recipied = cha
# -Omsm_client_restrictions = $ mua_client_restriction
# -A-smtpd_helo_restrictions = $ mua_helo_rectrications
# -Omsm_sender_restrictions = $ mua_sendender_restriction
# -Ukugcina i-smtpd_recipiet_restrictions =
# -Uku-_rethay_restrictions = Imvume_Sasl_auuncentEd, yenqaba
# -O mpirre_macro_daemon_name = isuka
# Khetha eyodwa: Nika amandla ama-SMTPs amaklayenti we-loopback kuphela, noma kunoma yiliphi iklayenti.
# 127.0.0.1.1:SMTS INet N - Y - - I-SMTPD
# I-SMTPS INet N - Y - - I-SMTPD
# -O syslog_name = postfix / smtps
# -O mpwpd_tls_wrappermode = yebo
# -Ombd_sasl_auth_able = yebo
# -O smtpd_reject_unlisted_recipied = cha
# -Omsm_client_restrictions = $ mua_client_restriction
# -A-smtpd_helo_restrictions = $ mua_helo_rectrications
# -Omsm_sender_restrictions = $ mua_sendender_restriction
# -Ukugcina i-smtpd_recipiet_restrictions =
# -Uku-_rethay_restrictions = Imvume_Sasl_auuncentEd, yenqaba
# -O mpirre_macro_daemon_name = isuka
# I-628 inet n - y - - qmqpd
# QMGRR UNIX n - N 300 1 OQMGR
# -O smtp_helo_timeout = 5 -O smtp_connect_TonTout = 5
# 
# ========================================================
# I-interface ku-software engeyona eyethu. Qiniseka ukuthi uhlola le ncwadi
# Amakhasi e-software engeyona eye-postfix ukuthola ukuthi yiziphi izindlela ezifunayo.
# 
# Izinsizakalo eziningi ezilandelayo zisebenzisa ukulethwa kwePostfix Pipe (8)
# i-ejenti.  Bona ikhasi lamapayipi (8) lowesifazane ukuthola imininingwane mayelana ne- $ {emukeli}
# nezinye izinketho zemvilophu yemiyalezo.
# ========================================================
# 
# I-Maildrop. Bona ifayela le-postfix postdrop_readme ngemininingwane.
# Futhi chaza ku-Main.cf: I-Maildrop_Destination_reciit_Imifient_limit = 1
# 
# 
# ========================================================
# 
# Izinguqulo zakamuva zeKoresi zingasebenzisa ukungena kwe- "LMTP" Master.cf okukhona.
# 
# Cacisa ngeCyrus.conf:
# I-LMTP CMD = "LMTPD -A" Lalela = "Localhost: LMTP" proto = TCP4
# 
# Cacisa nge-Main.cf eyodwa noma ngaphezulu kokulandelayo:
# I-Mailbox_Transport = LMTP: Inettsha: I-Localhost
# Virtual_transport = LMTP: Inettsha: Localhost
# 
# ========================================================
# 
# UKores 2.1.5 (Amos Gouauaux)
# Futhi chaza ku-Main.cf: CYRUS_Destination_reciiPip_Imifient_limit = 1
# 
# CYRUS UNIX - N N - - Ipayipi
# Amafulegi = DRX umsebenzisi = Cyrus Argv = / CYRUS / BIN / BIN /R $ {Umthumeli} -M $ {Umsebenzisi}
# 
# ========================================================
# Isibonelo esidala sokulethwa nge-Cyrus.
# 
# Old-cyrus unix - n n - - ipayipi
# Amafulegi = R umsebenzisi = cyrus argv = / cyrus / bin / ukuletha -Ukuhambisa -M $ $ $} $ {umsebenzisi}
# 
# ========================================================
# 
# Bona ifayela le-Postfix UUCP_UCREDE ngemininingwane yokucushwa.
# 
# 
# Ezinye izindlela zokulethwa kwangaphandle.
# 
Kanye nokucushwa kwe-OpendKim. I-OpenGKIM ikhomba amaseva we-imeyili anezinkinobho zesizinda ukubenza baphephe ngokwengeziwe. Ngaphandle kwawo, i-imeyili ayisayiniwe futhi kungenzeka ingakwenzi kubhokisi lokungenayo.

nano config/etc_default_opendkim
Faka le migqa:
# Qaphela: Leli yifayela lokucushwa lefa lefa. Ayisetshenziswa yi-Opendkim
# insizakalo ye-systemd. Sicela usebenzise amapharamitha wokucushwa ahambisanayo ku
# /etc/opendkim.conf esikhundleni.
# 
# Phambilini, umuntu angahlela izilungiselelo ezizenzakalelayo lapha, bese wenza
# /lib/opendkim/opendkim.service.service.genice ukukhiqiza amafayela we-systemd at
# /etc/systemd/system/opendkim.service.service.cconf kanye
# /etc/tmpfiles.d/opendkim.conf. Ngenkathi lokhu kusenokwenzeka, manje sekukhona
# Kunconywe ukuguqula izilungiselelo ngqo ku /etc/opendkim.conf.
# 
# Daemon_opts = ""
# Shintshela ku / var / spool / runfix / run / opendkim ukusebenzisa i-Unix Socket nge
# postfix ku-chroot:
# Rundir = / var / spool / run / opendkim
# 
# Ukungaguquki ukucacisa enye isokhethi
# Qaphela ukuthi ukusetha lokhu kuzokweqa inani lesokhethi ku- opendkim.conf
# Okuzenzakalelayo:
# Lalela kuzo zonke izikhala eziphakathi kwePort 54321:
# Isokhethi = inet: 54321
# Lalela ku-Loopback ePort 12345:
# Isokhethi = inet: 12345 @ Localhost
# Lalela ngo-192.0.2.1 ePort 12345:
# Isokhethi = inet: 12345@192.0.2.1

nano config/etc_dovecot_conf.d_10-master.conf
Faka le migqa:
# Okuzenzakalelayo_process_limit = 100
# Okuzenzakalelayo_client_limit = 1000
# Okuzenzakalelayo vsz (usayizi wememori ebonakalayo) umkhawulo wezinqubo zensiza. Lokhu ikakhulukazi
# ihlose ukubamba nokubulala izinqubo ezikhukhumezayo zenkumbulo ngaphambi kokuba zidle
# konke.
# Okuzenzakalelayo_vsz_limit = 256m
# Umsebenzisi we-Login usetshenziswa ngaphakathi ngezinqubo zokungena ngemvume. Lokhu kungalawulwa kakhulu
# umsebenzisi ohlelweni lwe-dovecot. Akufanele kube nokufinyelela kunoma yini.
# ezenzakalelayo_login_user = dovenull
# Umsebenzisi wangaphakathi usetshenziswa izinqubo ezingatholakali. Kufanele ihlukaniswe kusuka
# Umsebenzisi we-Login, ukuze izinqubo zokungena ngemvume azikwazi ukuphazamisa ezinye izinqubo.
# ezenzakalelayo_intnal_user = dovecot
    # I-Port = 143
    # I-Port = 993
    # ssl = yebo
  # Inani lokuxhuma okufanele lisingatha ngaphambi kokuqala inqubo entsha. Ngokuvamile
  # Amanani kuphela awusizo angu-0 (angenamkhawulo) noma 1. 1 aphephile kakhulu, kepha 0
  # Kuyashesha. <DOC / Wiki / LoginProcess.txt>
  # I-Service_Count = 1
  # Inani lezinqubo ukuze uhlale ulinde ukuxhumeka okuningi.
  # inqubo_min_avail = 0
  # Uma usetha insiza_count = 0, kungenzeka ukuthi udinga ukukhulisa lokhu.
  # vsz_limit = $ ezenzakalelayo_vsz_limit
    # I-Port = 110
    # I-Port = 995
    # ssl = yebo
    # I-Port = 587
  # Dala isilaleli se-inet kuphela uma ungakwazi ukusebenzisa i-UNIX Socket engenhla
  # Inet_Listener LMTP {
    # Gwema ukwenza i-LMTP ibonakale kuyo yonke i-Intanethi
    # ikheli =
    # I-Port =
  # }
  # Iningi lememori liya ku-MMAP () amafayela ange. Ungadinga ukwandisa lokhu
  # khawulela uma unebhokisi elikhulu leposi.
  # vsz_limit = $ ezenzakalelayo_vsz_limit
  # UMax. Inani lezinqubo ze-IMAP (ukuxhumana)
  # inqubo_limit = 1024
  # UMax. Inani lezinqubo ze-POP3 (ukuxhumana)
  # inqubo_limit = 1024
  # UMax. Inani lezinqubo zokungenisa ze-SMTP (ukuxhumana)
  # inqubo_limit = 1024
  # I-Author_socket_pap ekhomba kulolu hlelo lokusebenza lweSocket ngokuzenzakalelayo. Ngokuvamile
  # esetshenziswa yiDoveCot-LDA, i-DOVEADM, okungenzeka ukuthi kungenzeka inqubo ye-IMAP, njll. Abasebenzisi abanayo
  # izimvume ezigcwele kule sokhethi ziyakwazi ukuthola uhlu lwawo wonke amagama abasebenzisi futhi
  # Thola imiphumela yokubheka komuntu wonke umuntu wonke.
  # 
  # Imodi yokuzenzakalelayo engu-0666 ivumela noma ngubani ukuthi axhumeke kwisokhethi, kepha
  # Ukubukeka kwe-userdb kuzophumelela kuphela uma umsebenzisi ebuyisela inkambu ye- "UID"
  # Iqondanisa i-UID yenqubo yokushayela ucingo. Futhi uma i-UID yomshayeli noma i-gid ifana
  # I-USID kasokhethi noma i-gid ukubheka okuphumelelayo. Noma yini enye ebangela ukwehluleka.
  # 
  # Ukunikeza umshayeli wemvume ephelele ukubheka bonke abasebenzisi, setha imodi ku-
  # okunye ngaphandle kwe-0666 ne-dovecot kuvumela i-kernel iphoqelele
  # Izimvume (e.g. 0777 ivumela wonke umuntu izimvume ezigcwele).
  # Inqubo yabasebenzi ye-Author iqhutshwa njengempande ngokuzenzakalelayo, ukuze ikwazi ukungena
  # / njll / isithunzi. Uma lokhu kungadingekile, umsebenzisi kufanele aguqulwe abe
  # $ ezenzakalelayo_intnal_user.
  # umsebenzisi = izimpande
  # Uma kusetshenziswa i-dict proxy, izinqubo zemeyili kufanele zikwazi ukufinyelela isokhethi zalo.
  # Isibonelo: Imodi = 0660, i-GROUP = I-VPLANE NE-MOLLE mail_access_groups = vmail
    # Imodi = 0600
    # umsebenzisi =
    # iqembu =
Nakulokhu futhi, qiniseka ukufaka isizinda kuwo wonke lawa mafayela, i-femmebabe.com, ngesizinda osikhethile. Hlela ifayela elilandelayo, i-devecot's Config,

nano config/etc_dovecot_dovecot
Bese ufaka le migqa
## Ifayela lokucushwa kweDovecot
# Uma ushesha, bheka i-http: //wiki2.dovecot.org/quickconfiguration
# I- "DOVECONF -N" umyalo unikeza umphumela ohlanzekile wezilungiselelo ezishintshiwe. Yisebenzise
# Esikhundleni sokukopisha & ukunamathisela amafayela lapho kuthunyelwa ohlwini lwamakheli e-dovecot.
# '# 'umlingiswa nakho konke ngemuva kokuthi kuphathwe njengokuphawula. Izikhala ezingeziwe
# futhi amathebhu awanakwa. Uma ufuna ukusebenzisa noma yikuphi kwalokhu ngokusobala, faka
# value inside quotes, eg.: key = "# UChar and Trailing Whitespace "
# Izilungiselelo eziningi (kodwa hhayi zonke) zingaphezulu kwezivumelwano ezihlukile kanye / noma
# Umthombo / I-IPS ukuphela ngokubeka izilungiselelo ngaphakathi kwezingxenye, ngokwesibonelo:
# I-Protocol IMAP {}, Local 127.0.0.1 {}, kude kude ne-10.0.0.0/8 {}
# Amanani Okuzenzakalelayo aboniswa ukulungiswa ngakunye, akudingekile ukuze kuncishiswe
# lezo. Lokhu kuhlukile kulokhu: Azikho izigaba (e.g.9Space {})
# noma izilungiselelo ze-plugin zengezwa ngokuzenzakalelayo, zibhalwe kuphela njengezibonelo.
# Izindlela futhi ziyizibonelo nje ezizenzakalelayo zangempela ezisuselwa ekuhlelweni
# Izinketho. Izindlela ezibalwe lapha zilungiselela i-cokulunging - Preefix = / USR
# -Sysysconfdir = / njll --LocalStatedir = / var
# Nika amandla amaphrothokholi afakiwe
# Uhlu lwe-Comma oluhlukanisiwe lwama-IP noma ama-hostems lapho ungalalela khona ukuze uxhumane.
# "*" Kulalela kuzo zonke izindawo zokuxhumana ze-IPV4, "
# Uma ufuna ukucacisa amachweba angewona ama-angewona noma yini eyinkimbinkimbi,
# Hlela i-Confe.D / Master.Conf.
# Lalela = *, ::
# Isiqondisi esisesisekelo lapho ugcina khona idatha ye-Runtime.
# base_dir = / var / run / dovecot /
# Igama lalesi simo. Kwi-Multi-Instance Setup Doveadm neminye imiyalo
# ingasebenzisa -I <instance_name> Ukukhetha ukuthi yisiphi isibonelo esisetshenziswayo (enye indlela
# to -c <config_porpath>). Igama lesibonelo libuye lengezwe ezinqubweni ze-dovecot
# ekuphumeni kwe-PS.
# Isibonelo_name = i-dovecot
# Umyalezo wokubingelela wamakhasimende.
# I-Login_Greeting = I-Dovecot isilungile.
# Uhlu Oluhlukaniswe Somlomo Lwamabanga Wenethiwekhi Othembekile. Ukuxhumana okuvela kulezi
# Ama-IP avunyelwe ukweqa amakheli abo e-IP namachweba (ngokungena ngemvume futhi
# Okokuhlola ubuqiniso). khubaza_plaintaix_plauth_auth futhi ayinakwa
# Lawa manethiwekhi. Imvamisa ungacacisa amaseva wakho we-IMAP Proxy lapha.
# I-Login_trust_networks =
# Uhlu Oluhlukaniswe Somnyango Lokungena Ukungena Ukufinyelela Ama-Sockets (E.G. TCPWRAP)
# I-Login_Appss_sockets =
# Nge-proxy_maybe = yebo uma ukuphela kommeleli kufanele kufane nanoma yimiphi le ama-IPS, ungenzi
# Ukusondela. Lokhu akudingekile ngokujwayelekile, kepha kungasiza uma uya lapho uya khona
# IP yi-e.g. I-IP yomthwalo we-load.
# I-Author_Proxy_ELLE =
# Khombisa izihloko zenqubo ethe xaxa (ku-PS). Njengamanje kukhombisa igama lomsebenzisi futhi
# Ikheli le-IP. Iwusizo ekuboneni ukuthi angobani empeleni asebenzisa izinqubo ze-IMAP
# (isib. Amabhokisi eposi abelwe noma uma uid eid esetshenziselwa ama-akhawunti amaningi).
# verbose_proctitle = cha
# Kufanele zonke izinqubo zingabulawa lapho inqubo ye-DEVOCOT Master ivala phansi.
# Ukubeka lokhu ku- "cha" kusho ukuthi i-dovecot ingathuthukiswa ngaphandle
# ukuphoqa ukuxhumana okukhona kwamakhasimende ukuvala (yize lokho kungaba khona
# Inkinga uma ukuthuthukiswa yi-e.g. ngenxa yokulungiswa kwezokuphepha).
# Shutdown_clients = Yebo
# Uma kungenjalo zero, run imeyili imiyalo ngokusebenzisa lokhu ukuxhumana okuningi kwiseva ye-doveadm,
# esikhundleni sokuzigijimela ngqo kwinqubo efanayo.
# doveadm_worker_count = 0
# I-Unix Socket noma Umgcini: Imbobo esetshenziselwa ukuxhuma kwiseva ye-Doveadm
# doveadm_socket_path = i-doveadm-server
# Uhlu Oluhlukanisiwe Somnyango Lokuhlukahluka Kwezemvelo Okugciniwe ku-DOVECOT
# Ukuqalisa futhi kudlule kuzo zonke izinqubo zengane yayo. Ungasipha futhi
# Ukhiye = Amabili Amabili ukuze uhlele izilungiselelo ezithile.
# Ngenisa_environment = Tz
## 
## Izilungiselelo Zeseva ye-Dictionary
## 
# Isichazamazwi singasetshenziswa ukugcina ukhiye = Uhlu lwenani. Lokhu kusetshenziswa ngabaningana
# Ama-plugins. Isichazamazwi singafinyeleleka ngokuqondile noma yize a
# iseva ye-Dictionary. Amagama esichazamazwi alandelayo we-dict block amamephu ku-URIS
# lapho kuseva kusetshenziswa. Lokhu kungabhekiswa kusetshenziswa i-URIS ngefomethi
# "Proxy :: <amagama>".
  # Quota = MySQL: /etc/dovecot/DoVecot-DICT-SQL.CONFT-XT
# Iningi lokucushwa kwangempela lifakwa ngezansi. Amagama efayela
# Kuhlelwe okokuqala ngenani labo le-ASCII futhi kwafakwa kulowo myalo. Iziqalo ze-00-
# Kumagama wamafayela kuhloselwe ukwenza kube lula ukuqonda uku-oda.
# Ifayela lokuzilungiselela lingazama futhi ukufakwa ngaphandle kokunikeza iphutha uma
# Akutholakalanga:
# Ivumela i-DOVECOT ukuthi ilalele konke ukuxhumeka kokufaka (IPv4 / IPV6)
Faka iphasiwedi yomsebenzisi we-dovecot:

nano config/etc_dovecot_passwd
Ingxenye yokuqala yefayela, ngaphambi kwekholoni, igama lomsebenzisi. Ingxenye yokugcina, "i-PassPassword", isho iphasiwedi ongathanda ukuyinika iseva yemeyili yakho.

team:{plain}yourpassword
Okulandelayo, i-OpendKim Config

nano config/etc_opendkim.conf
Bese ufaka le migqa:
# Lokhu kucushwa okuyisisekelo kokusayina nokuqinisekisa. Kungaba lula
# iguqulwe ukuze ihambisane nokufakwa okuyisisekelo. Bheka i-Opendkim.conf (5) futhi
# /Usr/share/doc/opendkim/opendkim.conf.S.S..S.SAMPLE YOKUGCINA
# imibhalo yamapharamitha wokucushwa atholakalayo.
# Logwhw cha
# Amapharamitha ajwayelekile wokusayina kanye nokuqinisekisa. E-Debian, i- "kusuka" unhlokweni
# Okuphindwe okweqile, ngoba imvamisa kungukhiye ongumazisi osetshenziswa amasistimu wedumela
# ngakho-ke ngokuphepha okuthile okuzwela.
# Ukusayina isizinda, isikhethi, kanye nokhiye (kuyadingeka). Isibonelo, yenza ukusayina
# Ngesizinda "Isibonelo.com" nge-Selector "2020" (2020._domaimainkey.ex samp.com),
# Usebenzisa ukhiye wangasese ogcinwe ku /etc/dkimpkeys/ex samp.private. Gronular amaningi
# Izinketho zokusetha zingatholakala ku-/Usr/Share/Doc/Opendkim/Readme.opendkim.
# Exxer.com exanger.com
# Okhethiwe ngo-2020
# KeyFile /etc/dkimpkeys/ex samp.private
# E-Debian, u-OpenKim ugijima njengomsebenzisi "Openkim". I-UMask ye-007 iyadingeka lapho
# Kusetshenziswa isokhethi yendawo nge-MTAS efinyelela esokhethi njengelungelo elingelona iqiniso
# umsebenzisi (ngokwesibonelo, postfix). Ungadinga ukwengeza umsebenzisi "Postfix" eqenjini
# "Opendkim" kuleso simo.
# Isokhethi ngokuxhumeka kwe-MTA (kuyadingeka). Uma i-MTA ingaphakathi kwejele le-chroot,
# Kufanele kuqinisekiswe ukuthi isokhethi liyatholakala. E-Debian, postfix isebenza ngaphakathi
# I-chroot in / var / spool / postfix, ngakho-ke kuzofanela isokhethi le-Unix
# ilungiselelwe njengoba kukhonjisiwe kulayini wokugcina ongezansi.
# Socket Local: /run/opendkim/opendkim.sock
# I-Socket Inet: 8891 @ yendawo yendawo
# I-Socket Inet: 8891
# Ama-hots ongasayina kuwo kunokuqinisekisa, okuzenzakalelayo kungu-127.0.0.1. Bona
# Isigaba sokusebenza se-Opendkim (8) ukuthola eminye imininingwane.
# Yangaphakathi 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12
# I-trust anchor inika amandla i-DNSSEC. E-Debian, kunikezwe ifayela le-trust anchor
# ngephakeji le-DNS-Root-data.
# Ama-nameservers 127.0.0.1
# Imephu yezizinda kusuka kumakheli kuya okhiye abasetshenziselwa ukusayina imiyalezo
# Iqoqo lama-Batters angaphakathi kufanele asayinwe

nano config/etc_default_opendkim
Bese ufaka le migqa
# Qaphela: Leli yifayela lokucushwa lefa lefa. Ayisetshenziswa yi-Opendkim
# insizakalo ye-systemd. Sicela usebenzise amapharamitha wokucushwa ahambisanayo ku
# /etc/opendkim.conf esikhundleni.
# 
# Phambilini, umuntu angahlela izilungiselelo ezizenzakalelayo lapha, bese wenza
# /lib/opendkim/opendkim.service.service.genice ukukhiqiza amafayela we-systemd at
# /etc/systemd/system/opendkim.service.service.cconf kanye
# /etc/tmpfiles.d/opendkim.conf. Ngenkathi lokhu kusenokwenzeka, manje sekukhona
# Kunconywe ukuguqula izilungiselelo ngqo ku /etc/opendkim.conf.
# 
# Daemon_opts = ""
# Shintshela ku / var / spool / runfix / run / opendkim ukusebenzisa i-Unix Socket nge
# postfix ku-chroot:
# Rundir = / var / spool / run / opendkim
# 
# Ukungaguquki ukucacisa enye isokhethi
# Qaphela ukuthi ukusetha lokhu kuzokweqa inani lesokhethi ku- opendkim.conf
# Okuzenzakalelayo:
# Lalela kuzo zonke izikhala eziphakathi kwePort 54321:
# Isokhethi = inet: 54321
# Lalela ku-Loopback ePort 12345:
# Isokhethi = inet: 12345 @ Localhost
# Lalela ngo-192.0.2.1 ePort 12345:
# Isokhethi = inet: 12345@192.0.2.1
Lapho sikulungele ukusetha iseva yethu ye-Postfix, sizosebenzisa ikhodi engezansi, negama lesizinda elifanele elishumekiwe. Qala ngokwakha umbhalo

touch scripts/postfixsetup
sudo chmod a+x scripts/postfixsetup
nano scripts/postfixsetup
Manje, eNano, umhleli wombhalo, hlela leli fayela ngakho-ke kufaka phakathi igama lakho lesizinda esikhundleni se-femmebabe.com.
# ! / BIN / Bash
# Setha Postfix Postfix
Manje, gijimisa umbhalo ogcwalisiwe ukuze ulungiselele i-Postfix, Opendkim neDovecot.

./scripts/postfixsetup
Lapho lo mbhalo usuqedile, kokopisha umugqa wokugcina kunyathelisa bese unamathisela ukucushwa kwakho kwe-DNS njengenani lokutholwa ._doinay. Lona ukhiye we-OpendKim osetshenziselwa ukukhomba isizinda sakho lapho uthumela imeyili ephephile. Kuhle! Ezinsukwini ezimbalwa, kufanele ukwazi ukuthumela imeyili kusuka kuseva enikele konke kulungiselelwe kahle. Uma usanda kumisa i-DNS yeseva yemeyili yakho, kufanele kuthathe amahora angaphansi kwama-72 amarekhodi okuvuselela. Ngokuvamile kushesha kakhulu. Ungahlola ukuthi ngabe iseva yakho isebenza ngokusebenzisa lo myalo, ihlinzeke nge-imeyili yakho:

echo “test” | mail -s “Test Email” youremail@gmail.com
Uma konke kubonakala kusebenza kahle, kufanele ukwazi ukuthumela i-imeyili ngeseva yakho. Uma kungasebenzi, zama ukubheka izingodo ukubona ukuthi yini leyo phutha.

tail –lines 150 /var/log/mail.log
Lokhu kuzonikeza imininingwane ye-verbose mayelana ne-imeyili ethunyelwe yiseva nokuthi isebenza kahle yini. Kufanele ukwazi ukubona i-imeyili kubhokisi lakho lokungenayo futhi, uma kungenjalo, hlola ifolda yakho egaxekile. Uzodinga futhi ukumisa izilungiselelo zakho kuzilungiselelo zakho.Phy ngakho-ke iseva yakho ye-imeyili ingakhuluma nohlelo lwakho lokusebenza lwe-Django, iphrojekthi. Faka noma buyisela le migqa kuzilungiselelo zakho
EMAIL_HOST_USER = 'team' # 'Love@mamashele.com'
Qaphela ukuthi sisebenzisa ifayela le-Config ukuthola iphasiwedi. Masilayisha leli fayela kuzilungiselelo ezinjengalezi, ekuqaleni kwefayela.:
# Vula bese ulayisha i-Config
Ake sakhe leli fayela bese sengeza ukhiye oyimfihlo kulo, kanye nephasiwedi ye-imeyili. Ukukhiqiza ukhiye oyimfihlo, sebenzisa lo myalo, nganoma yibuphi ubude obuthanda ekugcineni:

openssl rand -base64 64
Manje, ukopisha umbhalo okhiqizwayo owenziwe futhi uhlele /etc/config.json

sudo nano /etc/config.json
Faka imigqa elandelayo kufayela lakho, ngokhiye ongenziwa i-openSSL ekhiqizwa njengokhiye oyimfihlo.

{
	"SECRET_KEY": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX-generated-using-openssl)",
	"EMAIL_HOST_PASSWORD": "yourpassword"
}
Ifomethi ye-JSON ilula futhi kulula ukuyisebenzisa, singakwazi ukumemezela ezinye izinkinobho esifuna ukuzisebenzisa kuphrojekthi yethu ngale ndlela, futhi uzigcine zihlukile ku-Project Directory yethu ukuze abanye abasebenzisi abakwazi ukubabhalela ngakho-ke. Lokhu kunconywa ukuzijwayeza izinkinobho ze-API, esizosebenzisa ngazo ezingaphezu kwabambalwa lapha. Uzofuna futhi ukwehlisa iphrojekthi yakho ukuze uqiniseke ukuthi konke kugcinwa futhi uzokwazi ukubuyisa umsebenzi wakho ngokuhamba kwesikhathi noma ngabe awusafisi ukuqasha iseva.

sudo backup
Manje, zama ukuthumela i-imeyili ye-HTML kusuka kuseva yeWebhu, kuhlinzekwe ukuthumela eyodwa kusuka kulayini womyalo kuyasebenza. Buza isibonelo sakho somsebenzisi egobolondweni, bese uthumela i-imeyili ye-HTML kulowo msebenzisi nge-Django. Shintsha igama lami kwikhodi, uCharlotte, igama lakho lomsebenzisi.

python manage.py shell
from django.contrib.auth.models import User
u = User.objects.get(username='Charlotte')
from users.email import send_welcome_email
send_welcome_email(u)
exit()
Uma umyalo wokuqala ungasebenzi, qiniseka ukuthi usebenzisa

source venv/bin/activate
Kunikezwe konke kusethwe kahle, manje uzothola i-imeyili yokwamukela ebhokisini lakho leposi elithunyelwe ngohlelo lwakho lokusebenza lwewebhu. Umsebenzi omuhle! Ufike kude. Bengifuna ukungeza, uma uke wahlangabezana nanoma yimaphi amaphutha nakancane ngenkathi usebenza kwiphrojekthi enjengale, unganqikazi ukucinga izimpendulo ucele usizo. I-Google, phakathi kwezinye izinjini zokucinga, izinsiza ezinhle zokufuna usizo lwezinhlelo. Mane nje useshe iphutha olitholayo, futhi uzokwazi ukubona ukuthi abanye abantu bayixazulula kanjani inkinga. Futhi, wamukelekile ukuthi ungithinte, othisha bakho (othisha, oprofesa, othisha), noma yibaphi oxhumewe kwi-Intanethi abatholakala ngosizo lwezinhlelo, noma bethola izinsizakusebenza ukuthola izixazululo zezinkinga ohlangabezana nazo. Ngiyakuqonda ukuthi lokhu akulula, kepha noma ngabe ufundile kulokhu futhi ungabhalanga noma iyiphi ikhodi, ufunda okuningi ngokwakha uhlelo lokusebenza lwewebhu kusuka ekuqaleni. Photha emuva, wenza okukhuluuJobe. Siyabonga ngokuthatha isikhathi sokufunda lesi siqondisi sokuthuthukiswa kweWebhu yesithathu. Ezinhlelweni ezizayo, ngizofaka ezinye zezibonelo ezibalulekile okuxoxwe ngazo ekuqaleni kwedokhumenti futhi sizongena ngokujulile emhlabeni we-software kanye ne-Hardware Development. Hlala ubukele ukuthi yini ozayo, futhi ngilangazelela ukukufundisa ukuthi ungakha kanjani isoftware emangalisayo. Sizokubona ngokulandelayo






Ngokuminyanisa
Ikhasi 1
Gxuma
Bona i-athikili ephelele
Qhubeka ufunde

nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


I-Player Player Colour Sudoku online mahhala Dlala ama-Sudoku Colour Sudoku nomngane mahhala.Mema umngane Joyina umdlalo *Tyr
Thenga ukuqhubeka

nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Imakethe ye-crypto ikhula kanjani ngokushesha okungaka?


Kunezici eziningana ezinomthelela ekukhuleni okusheshayo kwemakethe ye-Cryptocurrency. 


1. Ukwanda kokuqwashisa nokwamukelwa: Njengoba abantu abaningi beqaphela ama-cryptocurrenrencici nezinzuzo zabo ezingaba khona, isidingo sokutshalwa kwemali kwe-cryptocursency sekhule kakhulu. Lesi sithakazelo esandayo siholele ekuhlaselweni kwenani labasebenzisi nabatshalizimali ababamba iqhaza emakethe.


2. Ukubandakanyeka Kwezikhungo: Eminyakeni embalwa edlule, sibone inani elandayo labatshalizimali bezikhungo, njengezikhwama zethango, amabhange nezinye izikhungo zezezimali, libandakanyeka emakethe ye-cryptcurrency. Lokhu kungeze ukuthembeka emakethe futhi kwaheha abatshalizimali ngokwengeziwe.


I-3. Intuthuko yezobuchwepheshe: Ukuthuthuka kwezobuchwepheshe esikhaleni seBlockchain senze kwaba lula ngama-CryptoCurencies azokwakhiwa futhi athengiswe. Ngaphezu kwalokho, intuthuko ngezinyathelo zokuphepha kanye nezinhlaka zokulawula zenze ukuthi imakethe ithandeke kubatshalizimali.


I-4. Ukuguquguquka kwemakethe: uhlobo olushintshashintshayo lwemakethe ye-cryptocurrencywencyness lukhange abathengisi nabatshalizimali abafuna ukwenza imali enkulu ekuguquguqukeni kwamanani futhi benze inzuzo enkulu ngesikhathi esifushane.


5. Ukwemukelwa emhlabeni jikelele: I-CryptoCurencrencies manje yamukelwa njengendlela yokukhokha ngenani elandayo labathengisi namabhizinisi emhlabeni jikelele. Lokhu kusize ekuvuseleni ama-cryptocurrencrency njengenye indlela ebonakalayo yezimali zendabuko ze-Fiat.


Sekukonke, lezi zinto zibe nomthelela ekukhuleni okusheshayo kwemakethe ye-cryptocurrency futhi kungenzeka ukuthi ziqhubeke nokushayela ukwanda kwayo ngokuzayo.


nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Ngisingatha kanjani iseva yewebhu kusuka ekhaya lami?


Ukusingathwa kweseva yeWebhu kusuka ekhaya lakho kungenziwa ngokulandela lezi zinyathelo:


1. Khetha isoftware yeseva: Ungakhetha kusuka ezikhethweni zesoftware ehlukahlukene njenge-Apache, i-NINCX, Microsoft Internet Information Services (IIS), njll. Khetha eyodwa evumelana nezidingo zakho.


2. Setha ikheli le-TOSTIC IP: thintana nomhlinzeki wakho wesevisi ye-Intanethi (ISP) bese ucela ikheli le-IP le-Static ye-IP lokuxhumeka kwakho kwi-Intanethi. Lokhu kuzoqinisekisa ukuthi iwebhusayithi yakho ihlala itholakala noma ngabe ikheli lakho le-IP liyashintsha.


3. Lungiselela i-router yakho: Ngena ngemvume kuphaneli yokuphatha kaRouter yakho kanye nePort Port 80 (i-Default Port ye-HTTP Traffic) ekhelini langaphakathi leseva yakho. Lokhu kuzovumela ithrafikhi yangaphandle ukufinyelela kuseva yakho yeWebhu.


4. Faka futhi ulungiselele isoftware yeseva: Faka isoftware yeseva kumshini wakho weseva bese uyilungiselela ngokwezidingo zakho, njengokusetha ama-Virtual Hosts, SSL Certification, njll.


I-5. Hlola iwebhusayithi yakho: Bheka ukuthi ngabe iwebhusayithi yakho itholakala ngokufaka ikheli lakho le-IP le-IP kwisiphequluli sewebhu. Ungahlola futhi usebenzisa amathuluzi aku-inthanethi afana nePingdom noma i-GTMETrix.


I-6. Igama lesizinda kanye nokusetha kwe-DNS: Bhalisa igama lesizinda lewebhusayithi yakho bese usetha amarekhodi e-DNS ukukhomba ekhelini lakho le-IP elithi.


7. Izinyathelo zokuphepha: Sebenzisa izindlela zokuphepha ezifana nezindawo zokucima umlilo, ukubethela, izipele ezijwayelekile, njll., Ukuvikela iseva yakho yeWebhu kusuka ezinsoni ze-cyber.


8. Qapha futhi ugcine: Bheka njalo iseva yakho ngezinkinga zokusebenza, izinsongo zokuphepha, nezibuyekezo zesoftware. Gcina isoftware yakho yeseva kanye nezinhlelo zokusebenza kusesimweni ukuze kuqinisekiswe ukusebenza okubushelelezi.


Uyacelwa uqaphele ukuthi ukusingathwa kweseva yewebhu kusuka ekhaya lakho kungenzeka kungalungele amawebhusayithi aphezulu omgwaqo noma idatha ebucayi ngenxa yezingozi zokuphepha kanye nomkhawulokudonsa olinganiselwe. Cabanga ukusebenzisa insizakalo yokusingathwa kweWebhu Yokubamba Ngezidingo ezinjalo.


nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Ngikuthola kanjani ukumenyezelwa kwabantu kanye ne-organic traffic yewebhusayithi?


1


2. Ukumaketha okuqukethwe: Dala okuqukethwe okubalulekile nokufanele okuheha futhi kufake izithameli zakho ezihlosiwe. Lokhu kungafaka okuthunyelwe kwebhulogi, izindatshana, amavidiyo, infographics, nezinye izindlela zokuqukethwe.


3. I-Social Media Marketing: gqugquzela iwebhusayithi yakho kumapulatifomu ezokuxhumana afana ne-Facebook, i-Twitter, i-Instagram, kanye ne-LinkedIn ukufinyelela izithameli ezibanzi futhi ushayele ithrafikhi kuwebhusayithi yakho.


I-4. Ukukhangisa Okukhokhelwe: Cabanga ngokusebenzisa imikhankaso ekhokhelwa yokukhangisa ngezinjini zokucinga (i-Google AdWords), amapulatifomu ezokuxhumana, namanye amawebhusayithi afanele ukushayela ithrafikhi ebhekiswe kuwebhusayithi yakho.


5


I-6. I-imeyili Marketing: Yakha uhlu lwe-imeyili lwababhalisile bese uthumela izibuyekezo ezijwayelekile, ukukhuphula, nokuqukethwe ukushayela ithrafikhi emuva kwiwebhusayithi yakho.


7. Izingosi zokuxhumana: Xhuma nabanye abanikazi bewebhusayithi, ama-blogger, namathonyo emkhakheni wakho ukuze ubambisane, okuthunyelwe kwezivakashi, noma ukushintshanisa izixhumanisi ukwandisa ukubonakala kwewebhusayithi yakho.


8. Ubudlelwano bomphakathi: Finyelela izintatheli, ama-blogger, kanye nezitolo zezindaba ukuhambisa izindaba ezintsha noma izimemezelo ezihlobene newebhusayithi yakho ukukhiqiza umphakathi kanye nethrafikhi.


9. Ukubloga kwezivakashi: Bhala okuthunyelwe kwezivakashi ezisezingeni eliphakeme kwamanye amawebhusayithi futhi ufake phakathi isixhumanisi esibuyela kuwebhusayithi yakho kuMlobi Bio noma okuqukethwe ukushayela ithrafikhi.


10. Imiphakathi eku-inthanethi nezinkundla: Bamba iqhaza emiphakathini eku-inthanethi kanye nezinkundla ezihlobene ne-niche yakho futhi uhlanganyele namalungu ngokwabelana ngemininingwane ebalulekile, ukuphendula imibuzo, kanye nokuthuthukisa iwebhusayithi yakho lapho kufanelekile.

nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Kungani abantu befaka izimila ze-nfc ezandleni zabo?


Kunezizathu eziningana zokuthi kungani abantu bakhethe ukubekezelela i-NFC (eduze nokuxhumana kwensimu) ukufakwa ezandleni:


1. Ukusebenziseka kalula: I-NFC izimila zivumela abantu ukuthi bafinyelele kalula imininingwane, bavule iminyango, benze izinkokhelo, nokwenza eminye imisebenzi ngegagasi elilula lesandla sabo. Lokhu kungaba lula ukwedlula ukuthwala izinkinobho, amakhadi we-ID, noma ama-Smartphones.


2. Ezokuphepha: Izimila ze-NFC zinganikeza ungqimba olungeziwe lokuphepha, njengoba zidinga ukufinyelela ngokomzimba emzimbeni womuntu ozosebenza. Lokhu kungasiza ukuvikela ukufinyelela okungagunyaziwe kumadivayisi noma imininingwane ebucayi.


3


4. Ukukhonjwa komuntu: Izimila ze-NFC zingasetshenziselwa izinhloso zokuzazisa komuntu, njengokugcina imininingwane yezokwelapha noma imininingwane yokuxhumana engatholakala kalula uma kwenzeka kunesimo esiphuthumayo.


I-5


Sekukonke, isinqumo sokubethela ama-NFC chips ezandleni zawo ukukhethwa komuntu okuhlukahluka kumuntu nomuntu ngokususelwa kokuncamelayo kanye nezinkolelo zabo.


Thenga ukuqhubeka

nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Ingabe ushukela awunampilo ngempela?


Ukusetshenziswa ngokweqile ushukela kungaholela ezindabeni ezahlukahlukene zezempilo, njengokuthola isisindo, ukukhuluphala, isifo sikashukela, isifo senhliziyo kanye nezinkinga zamazinyo. Kunconywa ukuthi kunciphise ukuphuza ushukela owengeziwe ekudleni kwethu ukuze ulondoloze impilo enhle. Kodwa-ke, ushukela wemvelo otholakala ezithelo nemifino akubhekwa njengengozi kumanani alinganiselwe futhi angaba yingxenye yokudla okunempilo. Ukulinganisela kubalulekile uma kukhulunywa ngokusetshenziswa ushukela.


nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency



Ngiwathola kanjani amakhasimende ebhizinisi lami elincane lokuthuthukisa iwebhu?


Nawa amanye amasu ongawasebenzisa ukuheha amakhasimende ngebhizinisi lakho lokuthuthukisa iwebhu:


1. Yakha ubukhona be-inthanethi obuqinile: Dala iwebhusayithi esebenzayo ekhombisa izinsizakalo zakho, iphothifoliyo, kanye nobufakazi beklayenti. Sebenzisa iziteshi zokuxhumana nabantu ukukhuthaza ibhizinisi lakho futhi uhlanganyele namakhasimende angaba khona.


2. Inethiwekhi: YENZA IZENZAKALO ZOKUFUNDA, izingqungquthela, kanye nama-metups ukuxhuma nabanye ochwepheshe emkhakheni nakumakhasimende angaba khona. Joyina imiphakathi eku-inthanethi kanye nezinkundla ezihlobene nentuthuko yewebhu ukukhulisa inethiwekhi yakho.


3. Nikeza izinkuthazo zokudlulisela: zikhuthaza amaklayenti anelisekile ukuthi adlulise izinsizakalo zakho kwabanye ngokunikeza izaphulelo noma ezinye izisusa zokudluliselwa okuphumelelayo.


4. Hlanganisa namanye amabhizinisi: umlingani nama-ejensi okumaketha wedijithali, abaklami bemifanekiso, noma abanye ochwepheshe abangadinga izinsizakalo zokuthuthukiswa kweWebhu kumakhasimende abo.


5. Khangisa: Tshala imali ekukhangisweni kwe-inthanethi nge-Google AdWords, izikhangiso zemidiya yezenhlalo, noma ukukhombisa izikhangiso ukufinyelela izithameli ezibanzi.


I-6. Ukufinyelela okubandayo: Finyelela kumakhasimende angaba khona ngqo nge-imeyili noma ngocingo, ekhombisa izinsizakalo zakho nomsebenzi owedlule.


7


8. Eya emibukisweni yezohwebo kanye nemicimbi: Bamba iqhaza emibukini yezokuhwebelana embonini nemicimbi ukuxhuma namakhasimende angaba khona futhi ubonise izinsizakalo zakho.


9. Nikeza Ukubonisana Kwamahhala: Nikeza ukubonisana kwamahhala kumakhasimende angaba khona ukuze axoxe ngezidingo zawo nokuthi izinsizakalo zakho zingabasiza kanjani ukuba bafinyelele izinhloso zabo.


10. Cela ukubuyekezwa nobufakazi: Ugqugquzele amaklayenti anelisekile ukushiya izibuyekezo kanye nobufakazi kuwebhusayithi yakho noma ezinye izingxenyekazi zokubukeza ukwakha amakhasimende amasha.


nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Ngikubhala kanjani okuthunyelwe kwebhulogi kochwepheshe?


Ukubhala okuthunyelwe kwebhulogi lobuchwepheshe kubandakanya izinyathelo ezimbalwa ezibalulekile zokwakha ucezu oluqukethwe oluhle futhi oluhehayo. Nawa amanye amathiphu wokukusiza ukuthi ubhale okuthunyelwe kwebhulogi ekhokhelwayo:

1 Qiniseka ukuthi isihloko siyinto ezokuthakazela futhi iphinde ihlanganise abafundi bakho.

2. Yenza ucwaningo olunzulu: Ngaphambi kokuthi uqale ukubhala, qiniseka ukwenza ucwaningo oluphelele esihlokweni sakho esikhethiwe. Lokhu kuzokusiza ukuthi uqoqe imininingwane efanele, izibalo, kanye namaqiniso ukusekela amaphuzu akho futhi wenze i-blog yakho ithumele ithembeke ngokwengeziwe.

3. Dala uhlaka: Hlela imibono yakho namaphoyinti asemqoka ngokwakha uhlaka lokuthunyelwe kwakho kwebhulogi. Lokhu kuzokusiza ukuhlela okuqukethwe kwakho ngendlela enengqondo futhi enambitha, okwenza kube lula ukuthi abafundi balandele.

4. Bhala isingeniso esiphoqayo: Qala iposi lakho le-blog ngesingeniso esinamandla nesibandakanyekayo esibamba ukunakwa komfundi. Sebenzisa i-hook ukudonsa abafundi futhi ubenze bafune ukuqhubeka nokufunda.

I-5. Sebenzisa ulimi olucacile nolufushane: gwema ukusebenzisa i-jargon noma ngolimi lwezobuchwepheshe ngokuthunyelwe kwebhulogi lakho. Bhala ngendlela ecacile futhi emfushane ukwenza okuqukethwe kwakho kube lula ukuqonda bonke abafundi.

I-6. Faka phakathi okubukwayo: izinto ezibukwayo ezifana nezithombe, infographics namavidiyo kungasiza ukuhlukanisa umbhalo bese wenza iposi lakho le-blog yakho lithandeke. Bangasiza futhi ukuxhasa amaphuzu akho abalulekile futhi ngenze okuqukethwe kwakho kuhlanganyele ngokwengeziwe.

7. Ukufakazela kabusha Cabanga ukucela uzakwethu noma umngani ukuthi abukeze okuthunyelwe kwakho ukuze aphendule ngaphambi kokuyishicilela.

8. Faka ucingo ku-Action: qeda i-Blog yakho POST ngocingo olunamandla olukhuthaza abafundi ukuthi bazibandakanye nokuqukethwe kwakho, baphawula, noma babelane ngeposi lakho kwabezindaba zenhlalo

Ngokulandela lezi zeluleko, ungakha i-Professional and Encumor Blog Post ezosebenzisana nezilaleli zakho futhi ikususele njengegunya enkundleni yakho.

nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Ngiyakha kanjani iseva yemeyili nge-postfix?


Ukwakha iseva yemeyili nge-Postfix, landela lezi zinyathelo:


1. Faka i-Postfix: Sebenzisa umphathi wakho wephakeji ukufaka i-postfix kuseva yakho. Isibonelo, ku-Debian / Ubuntu, ungagijima `sudo apt-Thola ukufaka i-postfix`.


2. Lungiselela i-Postfix: Amafayela wokucushwa we-Postfix atholakala ku-`/ njll / postfix /`. Ifayela lokucushwa eliyinhloko `main.cf`. Ungahlela leli fayela ukusetha iseva yakho yemeyili ngokuya ngezidingo zakho. Okunye ukucushwa okujwayelekile ongase kudingeke ukusetha kufaka igama lesizinda, amasethingi edlulisa imeyili, izizinda ze-njll.


3. Setha amarekhodi e-DNS: Ukuqinisekisa ukulethwa kwe-imeyili, udinga ukusetha amarekhodi we-DNS adingekayo (amarekhodi we-MX ne-SPF) wesizinda sakho. Xhumana nomhlinzeki wakho wesizinda noma umhlinzeki we-DNS ukuze uthole usizo uma kudingeka.


4. Lungiselela izizinda zangempela kanye nabasebenzisi: Uma ufuna ukusingatha izizinda eziningi kuseva yakho yemeyili, kuzodingeka ulungiselele izizinda zabasebenzisi kanye nabasebenzisi. Lokhu kungenziwa kusetshenziswa i- `Virtual_Alias_Mailıal_Mailbox_Maps` memaps fayela le-Postfix.


I-5


I-6. Hlola i-imeyili Yakho ye-imeyili: Lapho konke kusethiwe, kufanele uhlole iseva yemeyili yakho ngokuthumela nokwamukela ama-imeyili wokuhlola. Sebenzisa amathuluzi afana ne-telnet noma i-mailx ukuze uthumele ama-imeyili ngesandla bese uhlola ukuthi ngabe batholwa ngempumelelo yini.


Khumbula ukuvuselela ngezikhathi ezithile futhi ugcine iseva yakho ye-imeyili ukuze uqinisekise ukuthi isebenza kahle nangokuphephile. Kungumqondo omuhle futhi ukubheka izingodo ze-imeyili ze-imeyili yezimpawu noma yiziphi izingqinamba noma umsebenzi osolisayo.

nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Iyiphi indlela engcono kakhulu yokubilisa amaqanda?


Nansi indlela elula yokubilisa amaqanda:


1. Beka amaqanda epanini bese uyimboza ngamanzi abandayo.

2. Letha amanzi ngamathumba phezu kokushisa okuphezulu.

3. Lapho amanzi esebilayo, yehlisa ukushisa ukuze unciphise futhi avumele amaqanda abize imizuzu engu-9 kuya kwengu-12, kuye ngokuthi wenze kahle kangakanani wena.

4. Susa amaqanda kusuka ekushiseni bese uwadlulisela ngokushesha esitsheni samanzi eqhwa ukuze aphole ngokushesha.

I-5. Uma usupholile, ungasebenzisa amaqanda futhi ujabulele amaqanda akho abilisiwe ngokuphelele.


nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Ngibhala kanjani incwadi enhle?


1. Khulisa umbono noma umqondo ocacile: Ngaphambi kokuqala ukubhala, qiniseka ukuthi unombono oqinile wencwadi yakho. Lokhu kungaba yisakhiwo, umlingiswa, ingqikithi, noma ukubekezelela ofuna ukukuhlola ekubhaleni kwakho.


2. Dala uhlaka: Chaza amaphuzu aphambili wesakhiwo, izinhlamvu, kanye nezindikimba zencwadi yakho ngaphambi kokuqala ukubhala. Lokhu kuzokusiza ukuthi uhlale uhlelekile futhi ugxile njengoba ubhala.


3 Lokhu kuzokusiza ukuthi uhlale ugqugquzelekile futhi uthuthuke ekubhaleni kwakho.


4. Vele uqale ukubhala: Kwesinye isikhathi ingxenye enzima kunazo zonke yokubhala incwadi iyaqalisa. Ungakhathazeki ngokuphelela kulesi sigaba, vele uqale ukubhala bese uthola imibono yakho phansi ephepheni.


5. Joyina iqembu lokubhala noma umphakathi: Cabanga ukujoyina iqembu lokubhala noma umphakathi ukuze uxhaswe, impendulo, kanye nesisusa. Ukubhala kungaba yinto ephishekela eyedwa, ngakho-ke ukuba nomphakathi walabo babhali esikanye nabo kungagxila kakhulu.


6. Hlela bese ubuyekeza: Uma usuqede okusalungiswa kwencwadi yakho, buyela emuva uphinde ubukeze futhi ulihlele ukuze uthuthukise ukucaca, ukwakheka, nokugeleza kokubhala kwakho. Lokhu kungafaka okusalungiswa okuningi kanye nokubuyekezwa ngaphambi kokuthi incwadi yakho isilungele ukushicilelwa.


7. Funa impendulo: Yabelana nabanye ngomsebenzi wakho, njengabafundi be-beta, amaqembu okubhala, noma abahleli abangochwepheshe, ukuthola impendulo ngokubhala kwakho. Lokhu kungakusiza ekuboneni izindawo zokwenza ngcono futhi wenze incwadi yakho ibe namandla.


8. Qhubeka ubhala: Ukubhala incwadi kunguMarthen, hhayi i-Sprint. Qhubeka ucindezela phambili, ukuhlala unikezelwe, futhi uqhubeke nokusebenza encwadini yakho kuze kube sekuqediwe.


nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Ngiyithumela kanjani i-imeyili enohlu lwe-imeyili oluhambisanayo kanye nezixhumanisi zokuzikhipha ohlwini?


Ukuthumela i-imeyili ngohlu oluthobelayo kanye nesixhumanisi esidabukisayo sokuzikhipha, kufanele ulandele lezi zinyathelo:


1. Qinisekisa ukuthi uhlu lwakho lwe-imeyili luhambisana nayo yonke imithetho efanele, efana ne-CAN-SPAM ACT ne-GDPR. Lokhu kusho ukuthi bonke abemukeli kumele ngabe bakhethe ukuthola ama-imeyili akho nokuthi unemvume ecacile yokuxhumana nabo.


2. Faka phakathi isixhumanisi esicacile nesicacile se-imeyili yakho. Qiniseka ukuthi kulula ukuyithola bese uchofoza, nokuthi kuthatha abemukeli ngqo ekhasini lapho bangazikhipha kalula ohlwini lwakho lwamakheli.


3. Ukwenza isixhumanisi sokuziqhelelana "ngokuziqhenya," ungasebenzisa inketho yokuchofoza okukodwa. Lokhu kusho ukuthi abemukeli bangazikhipha ovela kuma-imeyili akho ngokuchofoza okukodwa nje, ngaphandle kokuthi ugcwalise noma yiziphi izinhlobo ezengeziwe noma unikeze noma yiluphi ulwazi lomuntu siqu.


4. Lapho uthumela i-imeyili, qiniseka ukwenza ngokwezifiso umyalezo futhi ubhekane nomemukeli ngegama uma kungenzeka. Lokhu kungasiza ukukhulisa ukubandakanyeka nokwenza i-imeyili izizwe ihambelana kakhulu nomemukeli.


5


Ngokulandela lezi zinyathelo, ungathumela i-imeyili ngohlu oluthobelayo kanye nesixhumanisi esikhanyayo ukuqinisekisa ukuthi abamukeli bakho banokuhlangenwe nakho okuhle futhi bangaphuma kalula ukuthola ama-imeyili aphesheya kusuka kuwe.

nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Ngigqoka kanjani i-deadlock?


1. Qala ngokukhulisa izinwele zakho ziye kubude obufunayo. Izinwele zakho kufanele okungenani zibe ngamasentimitha ama-2-3 ubude.


2. Isigaba izinwele zakho zibe zincane, ngisho nezingxenye usebenzisa ikamu. Ubukhulu bezigaba buzonquma usayizi we-dreadlocks yakho, ngakho-ke qiniseka ukuthi ukhetha usayizi okhululekile ngawo.


3. Qala emuva emuva ingxenye ngayinye yezinwele ngokusonteka bese uyidonsa ngokuqinile ezimpandeni. Lokhu kuzodala ama-knots ezinweleni, ekugcineni azokwakha abe yi-dreadlocks.


4. Faka isicelo se-wax noma ijeli esigabeni ngasinye sezinwele ukusiza ukubamba amafindo endaweni futhi ukhuthaze izinwele ukuba zibe ndawonye.


5. Qhubeka ubheke emuva futhi usonteka ingxenye ngayinye yezinwele uze uqede yonke inhloko yakho. Le nqubo ingadla isikhathi, ngakho-ke yiba nesineke futhi uthathe ikhefu njengoba kudingeka.


I-6. Lapho zonke izinwele zakho zisontekile futhi zisetshenziselwe emuva, zikuhlale izinsuku ezimbalwa ukuvumela amafindo ukuba aqinise futhi afomule abe yi-dreadlocks.


7. Ngemuva kwezinsuku ezimbalwa, ungaqala isitayela futhi ulondoloze ama-dreadlocks akho ngokuwageza nge-shampoo engenamkhawulo futhi usebenzisa i-crochet hook ukusiza ukuqinisa noma yiziphi izikhonkwane ezixekethile.


8. Ukuze ugcine ama-dreadlocks akho ebukeka kahle futhi ucocekile, cabanga ukusebenzisa isikhafu noma i-bandana ukumboza lapho ulele noma ezindaweni ezingcolile. Ukulungiswa njalo kanye nokugcinwa njalo kuzosiza ama-dreadlocks akho ukuthi ahlale ephilile futhi uyabonakala.

nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Kungani kufanele ngisebenzise i-apula l egameni elithi l?


Kusetshenziswa i-apula l eLitgama l kungakhulisa okuhlangenwe nakho kwakho kokubuka ngezindlela eziningi. I-Apple L yithuluzi lokusakazwa elidumile elikuvumela ukuthi ufinyelele kalula futhi ubuke imibukiso oyithandayo ngevidiyo esezingeni eliphakeme nomsindo. Ngokusebenzisa i-apula l egameni l, ungajabulela i-CRISP, okusobala okucacile kanye nomsindo wokuntywila okuzokwenza uzizwe sengathi ulungile phakathi kwesenzo.


Ngokwengeziwe, i-apple l inikeza isikhombimsebenzisi esisebenziseka kalula esenza kube lula ukuzulazula ngeziqephu, ikhefu futhi sihlehlise kabusha izigcawu, bese wenza ngokwezifiso isipiliyoni sakho sokubuka. Ungasebenzisa futhi ngokunenzuzo izici ezinjengokusesha ngezwi nezincomo ezenzelwe wena ukukusiza ukuthola okuqukethwe okusha ukujabulela.


Sekukonke, kusetshenziswa i-apula l e-L Word kungakunika isipiliyoni sokusakazwa kweprimiyamu esizokuvumela ukuthi ugxile ngokuphelele ezweni elihehayo lombukiso.

nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency



Yini ebangela i-migraine futhi yelashwa kanjani?


I-Migraines iyizinhlungu ezinzima zekhanda ezivame ukuhambisana nezinye izimpawu ezifana ne-nausea, umuzwa wokukhanya nokuzwakala nokuphazamiseka okubukwayo. Imbangela ngqo ye-migraines ayiqondakali ngokuphelele, kepha kukholakala ukuthi ihlobene nezinguquko ekuhambeni kwegazi namakhemikhali ebuchosheni.


Ukwelashwa kwe-migraines kuvame kubandakanya ukuhlanganiswa kwezinguquko zendlela yokuphila, umuthi, nezinye izindlela zokwelapha ezihlukile. Ezinye izinketho zokwelashwa ezivamile zifaka:


1. Ukuthatha izinhlungu zokukhohlisa eziphikisayo njenge-ibuprofen noma i-acetaminophen

2 Imithi enikezwe umuthi yakhelwe ngokukhethekile ukuphatha ama-migraines, njengama-triptan nama-ergotamines

3. Ukugwema izimbangela njengokudla okuthile, ukucindezela, ukuntuleka kokulala, noma izinguquko ze-hormonal

4. Ukuzijwayeza izindlela zokuphumula njengokuphefumula okujulile noma ukuzindla

I-5. Ukusebenzisa amaphakethe ashisayo noma abandayo ekhanda noma entanyeni

6. Ukuzivocavoca njalo nokugcina ukudla okunempilo


Kubalulekile kubantu abahlushwa yi-migraines ukuze basebenze nomhlinzeki wabo wezokunakekelwa kwempilo ukuthuthukisa uhlelo lokwelashwa oluhambisana nezidingo zabo ezithile kanye nezimbangela. Kwezinye izimo, inhlanganisela yokwelashwa ingadingeka ukuphatha ngempumelelo i-migraines futhi ithuthukise ikhwalithi yempilo.

nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Kungani kuphephe kakhudlwana ukugqoka imaski phambi kwabantu?


Ukugqoka imaski emphakathini kuphephile ngoba kuyasiza ukuvikela ukusakazeka kwamaconsi okuphefumula aqukethe amagciwane, njenge-covid-19. Lapho umuntu onegciwane egqoka imaskhi, kuvimbela amaconsi abo okuphefumula ukuthi akhishwe emoyeni futhi athelele abanye. Ngokwengeziwe, ukugqoka imaskhi kungavikela nomgqokeli kusuka kumaconsi okuphefumula avela kwabanye abangatheleleka. Lokhu kubaluleke kakhulu ezimweni lapho kunzima ukukugcina khona ukudideka kwezenhlalo, njengasezikhaleni ezigcwele ngaphakathi eziphakathi noma ezithuthweni zomphakathi. Sekukonke, ukugqoka imaskhi kuyindlela elula futhi ephumelelayo yokusiza ukunciphisa ukudluliswa kwamagciwane futhi kuvikeleke ngokwakho nalabo abaseduze kwakho.


nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Ngilwakha kanjani uhlelo lokusebenza lwewebhu lwesitaki esigcwele nge-django?


Ukwakha uhlelo lokusebenza lwewebhu lwesitaki esigcwele nge-Django kuhilela izinyathelo ezimbalwa. Nali uhlaka olujwayelekile lwenqubo:


1. Setha i-Django: Okokuqala, faka i-DJango ngokusebenza `pip faka i-Django` kulayini wakho womyalo. Ngemuva kwalokho, dala iphrojekthi entsha ye-Django ngokugijima `I-Django-admin Startproject i-MyProject`.


2. Dala izinhlelo zokusebenza ze-Django: Izinhlelo ze-Django ziyizakhi ze-modular zephrojekthi yakho esebenza ngezinhloso ezithile. Ungakha izinhlelo zokusebenza eziningi ngaphakathi kwephrojekthi yakho ukuphatha ukusebenza okuhlukile.


3. Chaza amamodeli: amamodeli e-DJANGO asetshenziselwa ukuchaza ukwakheka kwamatafula wakho wedatha. Dala amamodeli akho ngokuchaza amakilasi kumamodeli.py Ifayela lohlelo lokusebenza ngalunye.


4. Dala ukubukwa: ukubukwa e-DJango kuyimisebenzi yePython ephatha izicelo zomsebenzisi kanye nezimpendulo zokubuyisa. Chaza ukubukwa kohlelo lwakho lokusebenza ngokwakha imisebenzi ekubukeni.Phalo ifayela lohlelo lokusebenza ngalunye.


I-5 Chaza amaphethini we-URL wohlelo lwakho lokusebenza ngokwakha ifayela le-URLS.PY kuhlelo lokusebenza ngalunye futhi kufaka phakathi kuwo kuma-URLS we-URLS.py wephrojekthi yakho.


I-6. Dala izifanekiso: izifanekiso e-DJango zisetshenziselwa ukukhiqiza amakhasi we-HTML athunyelwa kwisiphequluli somsebenzisi. Dala izifanekiso ze-HTML zohlelo lwakho lokusebenza ngokwakha ifolda yethempeli kuhlelo lokusebenza ngalunye kanye nokubhala ikhodi ye-HTML kumafayili e-template ahlukile.


7. Khonza amafayela a-static: Amafayili a-Static afana ne-CSS, i-JavaScript, kanye nezithombe zikhonzwa ngokwahlukile kokuqukethwe okunamandla ku-Django. Lungiselela izilungiselelo zamafayela ezi-static kuzilungiselelo zephrojekthi yakho.Phalo yokusebenzela amafayela a-Static kusuka kufolda e-Static kuhlelo lokusebenza ngalunye.


8. Lungiselela i-database: Setha amasethingi akho e-database kuzilungiselelo.py Ifayela lephrojekthi yakho, kufaka phakathi injini yedatha, igama, umsebenzisi, iphasiwedi, kanye nomgcini.


9


10. Gijimisa iseva: Qala iseva ye-Django Development Server ngokusebenza `Python Phatha.py RunServer` kulayini wakho womyalo. Manje kufanele ukwazi ukufinyelela kuhlelo lwakho lokusebenza lwewebhu ku-`http: //127.0.0.1: 8000 /` esipheqululini sakho.


Lezi yizinyathelo eziyisisekelo zokwakha uhlelo lokusebenza oluphelele lweWebhu ye-Django. Ukusuka lapha, ungaqhubekisela phambili ngokwezifiso futhi unwebe uhlelo lwakho lokusebenza ngokungeza ubuqiniso, ukugunyazwa, ama-Endpoitions, ukuhlolwa, nokuningi.


nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Yiziphi izinzuzo zokuba nekhamera yokuvikela?


1. Ukuvimbela umsebenzi wobugebengu - Amakhamera okuphepha angasebenza njengokuvimbela izigebengu ezingaba khona, ngoba mancane amathuba okuthi azenzele ubugebengu uma azi ukuthi ayabukwa.


2


I-3. Ubufakazi uma kwenzeka ubugebengu - enhlanganweni engeyinhle eyenzeka ngalo ubugebengu empahleni yakho, ukuphepha kwekhamera yekhamera kunganikeza ubufakazi obubalulekile bokuthi izimangalo zomthetho zokuqinisa umthetho kanye nomshuwalense.


4


5. Ukuthula kwengqondo - Ukuba namakhamera okuphepha afakiwe anganikeza ukuthula kwengqondo, azi ukuthi impahla yakho ibhekwa futhi izinsongo ezingaba khona ziyatholakala futhi ziqoshwa.


nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency


Ngisanda kuqala ukuthatha ukulawula ukubeletha. Yimiphi imiphumela emibi evame kakhulu?


Imiphumela emibi evame kakhulu yamaphilisi okulawula ukuzala ifaka:


1. Nausea

2. Ubumnene bebele

3. Ubuhlungu bekhanda

4. Isisindo siyazuza

I-5. Izinguquko zemood

I-6. Ukucima ukopha noma ukopha

7. Izinguquko eLibido 

8. Izinduna 

9. Ukuqhakaza 


Kubalulekile ukuqaphela ukuthi wonke umuntu angathola imiphumela emibi ehlukile, futhi abanye abantu bangase bangabi nakho konke. Uma unezinto ezikhathazayo ngemiphumela emibi yokulawula kwakho kokuzalwa, kungcono ukukhuluma nomhlinzeki wakho wezokunakekelwa kwempilo.

nge Daisy / Buka | Thenga | Thenga nge-cryptocurrency




https://glamgirlx.com -


(Chofoza noma cindezela ukuze ulande isithombe)
Ukuzijabulisa okuphrofeshinali, izithombe, amavidiyo, okulalelwayo, ukusakazwa bukhoma nokudlalwa kwegeyimu okungajwayelekile, kanye nokuskena kwe-ID, ukuthuthukiswa kwewebhu kanye nezinsizakalo zokutholwa.

Ngishiyele ithiphu ku-Bitcoin usebenzisa leli kheli: 3KhDWoSve2N627RiW8grj6XrsoPT7d6qyE

© Glam Girl X 2025

Imigomo Yesevisi