Kuphunzira Kwambiri Kwambiri ndi Kutetezedwa Kwachitsanzo

DaisyChithunzi cha Mbiri

Ndi Daisy

Kuphunzira Kwambiri Kwambiri ndi Kutetezedwa Kwachitsanzo Malingaliro Achitatu Charlotte Harper Julayi 3, 2024 Kusintha / Kutembenuka June 3, 2025 MAFUNSO OTHANDIZA: Kuganizira kwambiri mapulogalamu omanga pa intaneti ndi gawo lofunikira pa mapulani aliwonse omwe ali ndi mapulani omwe ali ndi mapulogalamu omwe ali odalirika, okhazikika, komanso othandiza potsatira. Dongosolo (Chidziwitso Cholembera), ndikukhazikitsa HTML, JavaScript, ndi CSS Wosuta wosuta akufuna kupha nthawi kapena kuti achite china chake pa intaneti, nthawi zambiri pa chipangizo cha SlatcyRen. Anthu ambiri sakanadziwa komwe angayambire pomwe akufuna kupanga tsamba lazomwe amagwiritsa ntchito ndalama zambiri komanso kusinthasintha. Ngati muli ndi mphindi zochepa kuti muwerengere bukuli ndikuphunzira zomwe ndikufuna kukuphunzitsani za zolinga zotchuka, ndikulemba pulogalamuyi yophunzira ndikukwaniritsa zomwe anzanu mukufuna. Za ine: Ndine wopanga mapulogalamu okhala ndi zokumana nazo zingapo mu C / C ++, Java, Python, HTML, CSS ndi JavaScript. Ndimanga mawebusayiti omwe akufuna kugwiritsa ntchito, akufuna kukaona, komanso ngakhale mutayamba kugwiritsa ntchito kungophunzira, ndikupha nthawi, ndipo koposa zonse, ndimagulitsa mapulogalamu. Mukadakhala ndi lingaliro momwe mungafunire tsamba lanu kuti muoneke ndikugwira ntchito, inu mukufunitsitsa kukwaniritsa zosowa zanga, ndipo inunso mungakumane ndi pulogalamu yaukadaulo yokha yomwe mungapeze. M'malo moyesa kukugulitsani nthawi yanga, ndikuyesera kugula yanu: Ndikufuna ndikulandani kuti mupange pulogalamuyi (tsamba) ndi chidziwitso chomwe chikufunika kale, ndikuphunzitsa zomwe zikuyenda bwino mu gawo lililonse lomwe mukufuna. Ndipo ndiroleni ndiwoneke, maphunziro omwe ndimakupatsani ungakhale mwamwayi. Mutha kupita kusukulu ndikuphunzira zonsezi ndi maphunziro, kapenanso kuwerenga bukuli kusukulu, malizitsani ntchito yanu, koma sindingakuyikeni mu mpando wotentha ndikufunsani kuti mulalikire. Ine sindine pulofesa wanu, mutha kumandiganizira ngati mnzanga amene akufuna kukuwongolera ntchito yoyendetsedwa ndi kupambana kwanu. Ndipo sindikukugulitsani bwino mwina, muyenera kugula ndi nthawi yanu. Kuphunzira ku code kuli ndi kupindika kophweka ndipo sikunali kophweka konse, kapenanso kuyenera kukhala. Muyenera kugwira ntchito molimbika momwe mungathere ndikupitilizabe kuyesa ndikulepheranso ngakhale mutakhumudwitsidwa kuti muphunzire ndikudzipangira nokha. Ndizo mu chikhalidwe cha nambala yokha. Khodi imayendetsedwa ndi wophatikiza yemwe wapangidwa kuti apatse mauthenga olakwika, ndipo awa adzakuphunzitsani momwe mungagwiritsire ntchito nambala, ngakhale mutangokongoletsa cholakwika mu injini yanu ndikuwerenga zitsanzo zanu. Ndipo ndiyenera kunena, simufunikira kukhala olemera kwambiri, anzeru, opambana, kapenanso okhazikika kapena opangidwa kuti apange pulogalamu. Makompyuta amasamalira bungwe limenelo. Muyenera kuti mupirire kudutsa mayesero ndi cholakwika, khalani ndi chidwi ndikuyesetsa pazomwe mumachita, ndipo mudzakhala ndi ntchito yabwino kwambiri pazomwe mumachita. Ndine ndani: Ndikudziwa kuti gawo lomaliza linali lochulukirapo pophunzira ndi kutenga njira zanu zochokera m'bukuli. Ndine ndani kwenikweni? Ndilo funso lovuta. Ndine wonyansa ndekha, ndikuvutika ndi zinthu zamankhwala zomwe zingandivutitse kapena kulemba bukuli nthawi zina, ngakhale kulimbana ndi mavuto omwe moyo wanga umavuta. Mwachidule, ngati mukuwerenga bukuli, mumabweretsa kunyumba chifukwa mumangoganiza kuti zinali zothandiza, kapena ngati mungawerengere munthu amene mukufuna kuti muchite bwino pa chilichonse chomwe mumachita. NdineUnidzi ndekha, wopanga mapulogalamu, ndi wophunzira, ndipo ndikulemba bukuli kwa ophunzira ena omwe akufuna kukhala ndi buku labwino kwambiri kuti azichita bwino ngakhale kuti ali ndi bizinesi. Makamaka, izi ndi zomwe ndimachita: ndimalimbikitsa mapulogalamu kuti ndizithandiza ndekha kuti ndikwaniritse anthu ena. Ndine wolemba komanso uwu ndi buku langa loyamba lomwe ndikufuna kumaliza mbiri yanga kuti ndiyike chikalata chothandiza, ndipo ndine wojambula. Ndivomereza izi kwa inu, ndine munthu wachilendo. Sindine wangwiro, ndathamangitsidwa ndi lamuloli ngakhale kunditsogolera kuti ndisiye makoleji ndi mayunivesite ndikusiyitsa mlandu kuti ndichite bwino kwambiri. Ndine mkazi mwa kubadwa, ndimavala zodzikongoletsera, zimavala zovala zanga, ndikuvala zovala zamkati, ndipo ndimakhala ndekha ngati wamkazi mwachilengedwe. Ndakhala ndi zovuta ndi anthu ena m'mbuyomu omwe amabweretsa zovuta zolemba ndi kumanga mawebusayiti, ndipo ndikupepesa kuti sindinathe kupeza bukuli m'manja mwanu posachedwa: Munafunikira izi. Mudzafuna kuwerenga ndi kulemba code yomwe imawoneka ngati yanga ndipo imagwira ntchito ngati yanga ndipo imachitanso chinthu chofananirako, chifukwa ngati mungakwanitse kugula ndalama zanu kuti mungofunsani bwino m'moyo wanu. Ndinali ndi mavuto amtundu uliwonse ndi mabanja omwe akukula, mikhalidwe yaumoyo, madotolo, ndi malamulo anga amawonetsa ndewu yomwe ndi yachikazi m'dziko logawika ndi lachilendo. Komabe, bukuli ndi chinthu chomwe ndimachiganizira kwambiri, mwana wanga, mbiri yanga, ndi njira yanga, motero ndimayamikira kusanthula kwanu mukamaphunzira kwa ine. Chonde dziwani kuti sindine wangwiro, bukuli lidzakhala ndi zolakwa, kusinthana, ndi malembedwe atsopano, ndipo muyenera kuganiza ndi ubongo wanu woyenera kwambiri kuti uzichita bwino. Komanso mumvetsetse kuti ndikutanthauza inu ngakhale mutakumana ndi mavuto polemba. Ganizirani izi: Mukangobwereka dongosolo la kompyuta kuti muganizirepo kanthu pa digito, sungani zidziwitso zonse zomwe mukukumana nazo, muzimvetsetsa, mudzakumana ndi zovuta zomwe mukugwiritsa ntchito komanso ngakhale kufalitsa. Ndikukuuzani izi chifukwa ndimakumana ndi zovuta zomwezo. Gwiritsani ntchito bukuli pachiwopsezo chanu, Gwirani ntchito ndi magulu anu ndi madera anu omwe mungakupatseni mwayi wokhala ndi misala yolakwika kapena ntchito, intaneti. Simungadziwe zomwe ine ndimakhala ndi mawu ochepa chabe, koma ndikukulimbikitsani kuti muwerenge, mudzandidziwa mukamapitilizabe kuwerenga ndikumamvetsetsa ntchito yanu kuti mumalize ntchito yanu. Sipadzakhala homuweki ndi bukuli, bola ngati profesa wanu kapena aphunzitsi anu sakukupatsani mwayi woti muwerenge momwe mungagwiritsire ntchito zomwe mwaphunzira. Ntchito yanga ya zipolopolo ndiyo maziko a zomwe mudzawerenge mu buku lino, monga momwe limaphatikizira nambala yanga yakale yomwe ingathe kufotokozerana bwino ndi momwe mungakhalire, pa intaneti, olengezedwa kwa inu, kapena kulembedwa. Zomwe Bukhu ili: Bukuli ndi phunziroli mwachitsanzo. Mutha kupeza code apa, malangizo a momwe angaphunzirire kufilimu, chidziwitso chosinthira, amasunga mawebusayiti anu, ndikusunga mawebusayiti anu, ndikusunga mawebusayiti anu, komanso momwe mungadziwire Mapulogalamu omwe mumamanga mu kuwala kwathunthu kukhala wokongola kwambiri momwe angathere ogwiritsa ntchito anu omaliza, alendo anu awebusayiti. M'buku lino, ndikuwonetsa zitsanzo zingapo zamapulogalamu omwe ndikuyang'ana pa intaneti ngati nsanja komanso chitetezo. Tidzayambitsa kuphunzirakulimba
Kuphunzira Kwambiri Kwambiri ndi Kutetezedwa Kwachitsanzo

Kuphunzira Kwambiri Kwambiri ndi Kutetezedwa Kwachitsanzo Malingaliro Achitatu Charlotte Harper Julayi 3, 2024 Kusintha / Kutembenuka June 3, 2025

MAFUNSO OTHANDIZA:

Kuganizira kwambiri mapulogalamu omanga pa intaneti ndi gawo lofunikira pa mapulani aliwonse omwe ali ndi mapulani omwe ali ndi mapulogalamu omwe ali odalirika, okhazikika, komanso othandiza potsatira. Dongosolo (Chidziwitso Cholembera), ndikukhazikitsa HTML, JavaScript, ndi CSS Wosuta wosuta akufuna kupha nthawi kapena kuti achite china chake pa intaneti, nthawi zambiri pa chipangizo cha SlatcyRen. Anthu ambiri sakanadziwa komwe angayambire pomwe akufuna kupanga tsamba lazomwe amagwiritsa ntchito ndalama zambiri komanso kusinthasintha. Ngati muli ndi mphindi zochepa kuti muwerengere bukuli ndikuphunzira zomwe ndikufuna kukuphunzitsani za zolinga zotchuka, ndikulemba pulogalamuyi yophunzira ndikukwaniritsa zomwe anzanu mukufuna.

Za ine: Ndine wopanga mapulogalamu okhala ndi zokumana nazo zingapo mu C / C ++, Java, Python, HTML, CSS ndi JavaScript. Ndimanga mawebusayiti omwe akufuna kugwiritsa ntchito, akufuna kukaona, komanso ngakhale mutayamba kugwiritsa ntchito kungophunzira, ndikupha nthawi, ndipo koposa zonse, ndimagulitsa mapulogalamu. Mukadakhala ndi lingaliro momwe mungafunire tsamba lanu kuti muoneke ndikugwira ntchito, inu mukufunitsitsa kukwaniritsa zosowa zanga, ndipo inunso mungakumane ndi pulogalamu yaukadaulo yokha yomwe mungapeze. M'malo moyesa kukugulitsani nthawi yanga, ndikuyesera kugula yanu: Ndikufuna ndikulandani kuti mupange pulogalamuyi (tsamba) ndi chidziwitso chomwe chikufunika kale, ndikuphunzitsa zomwe zikuyenda bwino mu gawo lililonse lomwe mukufuna. Ndipo ndiroleni ndiwoneke, maphunziro omwe ndimakupatsani ungakhale mwamwayi. Mutha kupita kusukulu ndikuphunzira zonsezi ndi maphunziro, kapenanso kuwerenga bukuli kusukulu, malizitsani ntchito yanu, koma sindingakuyikeni mu mpando wotentha ndikufunsani kuti mulalikire. Ine sindine pulofesa wanu, mutha kumandiganizira ngati mnzanga amene akufuna kukuwongolera ntchito yoyendetsedwa ndi kupambana kwanu. Ndipo sindikukugulitsani bwino mwina, muyenera kugula ndi nthawi yanu. Kuphunzira ku code kuli ndi kupindika kophweka ndipo sikunali kophweka konse, kapenanso kuyenera kukhala. Muyenera kugwira ntchito molimbika momwe mungathere ndikupitilizabe kuyesa ndikulepheranso ngakhale mutakhumudwitsidwa kuti muphunzire ndikudzipangira nokha. Ndizo mu chikhalidwe cha nambala yokha. Khodi imayendetsedwa ndi wophatikiza yemwe wapangidwa kuti apatse mauthenga olakwika, ndipo awa adzakuphunzitsani momwe mungagwiritsire ntchito nambala, ngakhale mutangokongoletsa cholakwika mu injini yanu ndikuwerenga zitsanzo zanu. Ndipo ndiyenera kunena, simufunikira kukhala olemera kwambiri, anzeru, opambana, kapenanso okhazikika kapena opangidwa kuti apange pulogalamu. Makompyuta amasamalira bungwe limenelo. Muyenera kuti mupirire kudutsa mayesero ndi cholakwika, khalani ndi chidwi ndikuyesetsa pazomwe mumachita, ndipo mudzakhala ndi ntchito yabwino kwambiri pazomwe mumachita.

Ndine ndani: Ndikudziwa kuti gawo lomaliza linali lochulukirapo pophunzira ndi kutenga njira zanu zochokera m'bukuli. Ndine ndani kwenikweni? Ndilo funso lovuta. Ndine wonyansa ndekha, ndikuvutika ndi zinthu zamankhwala zomwe zingandivutitse kapena kulemba bukuli nthawi zina, ngakhale kulimbana ndi mavuto omwe moyo wanga umavuta. Mwachidule, ngati mukuwerenga bukuli, mumabweretsa kunyumba chifukwa mumangoganiza kuti zinali zothandiza, kapena ngati mungawerengere munthu amene mukufuna kuti muchite bwino pa chilichonse chomwe mumachita. Ndine wopanga ndekha, wopanga mapulogalamu, ndi wophunzira, ndipo ndikulemba bukuli kwa ophunzira ena omwe akufuna kukhala ndi buku lothandiza kuti akhale ndi buku labwino kwambiri kuti azichita bwino ngakhale mutakhala kuti bizinesi. Makamaka, izi ndi zomwe ndimachita: ndimalimbikitsa mapulogalamu kuti ndizithandiza ndekha kuti ndikwaniritse anthu ena. Ndine wolemba komanso uwu ndi buku langa loyamba lomwe ndikufuna kumaliza mbiri yanga kuti ndiyike chikalata chothandiza, ndipo ndine wojambula. Ndivomereza izi kwa inu, ndine munthu wachilendo. Sindine wangwiro, ndathamangitsidwa ndi lamuloli ngakhale kunditsogolera kuti ndisiye makoleji ndi mayunivesite ndikusiyitsa mlandu kuti ndichite bwino kwambiri. Ndine mkazi mwa kubadwa, ndimavala zodzikongoletsera, zimavala zovala zanga, ndikuvala zovala zamkati, ndipo ndimakhala ndekha ngati wamkazi mwachilengedwe. Ndakhala ndi zovuta ndi anthu ena m'mbuyomu omwe amabweretsa zovuta zolemba ndi kumanga mawebusayiti, ndipo ndikupepesa kuti sindinathe kupeza bukuli m'manja mwanu posachedwa: Munafunikira izi. Mudzafuna kuwerenga ndi kulemba code yomwe imawoneka ngati yanga ndipo imagwira ntchito ngati yanga ndipo imachitanso chinthu chofananirako, chifukwa ngati mungakwanitse kugula ndalama zanu kuti mungofunsani bwino m'moyo wanu. Ndinali ndi mavuto amtundu uliwonse ndi mabanja omwe akukula, mikhalidwe yaumoyo, madotolo, ndi malamulo anga amawonetsa ndewu yomwe ndi yachikazi m'dziko logawika ndi lachilendo. Komabe, bukuli ndi chinthu chomwe ndimachiganizira kwambiri, mwana wanga, mbiri yanga, ndi njira yanga, motero ndimayamikira kusanthula kwanu mukamaphunzira kwa ine. Chonde dziwani kuti sindine wangwiro, bukuli lidzakhala ndi zolakwa, kusinthana, ndi malembedwe atsopano, ndipo muyenera kuganiza ndi ubongo wanu woyenera kwambiri kuti uzichita bwino. Komanso mumvetsetse kuti ndikutanthauza inu ngakhale mutakumana ndi mavuto polemba. Ganizirani izi: Mukangobwereka dongosolo la kompyuta kuti muganizirepo kanthu pa digito, sungani zidziwitso zonse zomwe mukukumana nazo, muzimvetsetsa, mudzakumana ndi zovuta zomwe mukugwiritsa ntchito komanso ngakhale kufalitsa. Ndikukuuzani izi chifukwa ndimakumana ndi zovuta zomwezo. Gwiritsani ntchito bukuli pachiwopsezo chanu, Gwirani ntchito ndi magulu anu ndi madera anu omwe mungakupatseni mwayi wokhala ndi misala yolakwika kapena ntchito, intaneti. Simungadziwe zomwe ine ndimakhala ndi mawu ochepa chabe, koma ndikukulimbikitsani kuti muwerenge, mudzandidziwa mukamapitilizabe kuwerenga ndikumamvetsetsa ntchito yanu kuti mumalize ntchito yanu. Sipadzakhala homuweki ndi bukuli, bola ngati profesa wanu kapena aphunzitsi anu sakukupatsani mwayi woti muwerenge momwe mungagwiritsire ntchito zomwe mwaphunzira. Ntchito yanga ya zipolopolo ndiyo maziko a zomwe mudzawerenge mu buku lino, monga momwe limaphatikizira nambala yanga yakale yomwe ingathe kufotokozerana bwino ndi momwe mungakhalire, pa intaneti, olengezedwa kwa inu, kapena kulembedwa.

Zomwe Bukhu ili: Bukuli ndi phunziroli mwachitsanzo. Mutha kupeza code apa, malangizo a momwe angaphunzirire kufilimu, chidziwitso chosinthira, amasunga mawebusayiti anu, ndikusunga mawebusayiti anu, ndikusunga mawebusayiti anu, komanso momwe mungadziwire Mapulogalamu omwe mumamanga mu kuwala kwathunthu kukhala wokongola kwambiri momwe angathere ogwiritsa ntchito anu omaliza, alendo anu awebusayiti. M'buku lino, ndikuwonetsa zitsanzo zingapo zamapulogalamu omwe ndikuyang'ana pa intaneti ngati nsanja komanso chitetezo. Tidzayambitsa kuphunzira mwa kupanga ntchito yoyamba pogwiritsa ntchito chigoba cha Unix, ndi zosunga zosunga. Kenako, tikambirana tsamba la blog, sinthani blog yathu ndi chithunzi ndi makanema komanso kugwiritsa ntchito njirazi kuti mugwiritse ntchito njira zotetezera pogwiritsa ntchito pulogalamu yaulere (Pam). Kenako tikambirana mafayilo ndi kukonza, kukonza kusintha kwa makanema, zopereka mawu, kusanthula kwa barcode ndi mawonekedwe owoneka bwino, pakati pa malingaliro ena. Munjira tikambirane Apis iti atithandizire kuti 'Mapulogalamu athu kukhala othandiza komanso otetezeka, ndi njira zaulere komanso zolipirira. Tili m'njira, tiona zida zodzitchinjiriza ndi zida zamiyala komanso zopanga zopangidwa ndi mbiya komanso ma drose and drone. Tidzaphulika m'njira yomanga masewera, ma itonde ndi 3D popereka ma injini, ndipo timagwira ntchito ndi zida zophatikizika pakachitika zitsanzo za pulogalamu yobwereketsa komanso njira zamagetsi zoponyera mu rate. Tili m'njira, tidzagwiritsanso ntchito mayankho ophunzirira amakina omwe alipo kale kuti muteteze pulogalamu yathu. Tizilembanso zida zam'malo zomwe zimapezeka pa intaneti kuti tikhoze kulera ndikutchinjiriza. Bukuli ndi chitsogozo chakuchita bwino pomanga intaneti ndikuwukhazikitsa ndi makompyuta a makompyuta, komanso magwiridwe antchito opangira mapulogalamu kapena chidziwitso cham'mbuyomu.

Zomwe Bukhu ili: Ngati mukufunadi kukhala ndi tsamba lawebusayiti, mutha kungokhazikitsa malo ogulitsira ndikugulitsa zomwe mukufuna, ikani blog, zithunzi, kapena mwanjira inayake osalemba nambala imodzi. Bukhu ili sichoncho. Bukuli likuphunzitseni momwe mungapangire mapulogalamu omwe ndi othandiza kwambiri, othandiza komanso otetezeka kuposa makampani aliwonse omwe mungayendetse, ndipo sakupemphani kuti abwerere ndalama kuti azichita chilichonse. Ngati mungatsatire bukuli mosamala, mudzafuna kulemba code, makalata, muzipanga mapulogalamu anu, ndipo mupanga ndalama pazomwe mumachita. Ndipanga ndalama ku bukuli, ngakhale koyambirira, chifukwa zili ndi chidziwitso cha anthu amafunikira kuti awerenge, ndipo akugula kale akagula kapena kugwiritsa ntchito mapulogalamu anga. Bukuli silimakupangirani pulogalamu yanu, koma idzakulozerani njira yoyenera ndikukupangitsani kuti mulingane ndi mapulogalamu anu mu intaneti, alendo, alendo, ndi anthu a intaneti akufuna kugwiritsa ntchito ndi thandizo.

Zomwe mudzaphunzira: Bukuli likuphunzitsani kupanga mapulogalamu ndi kugulitsa mapulogalamu, mapulogalamu othandiza, makanema ojambuliramo, komanso kusinthitsa mauthenga ngati Bluetooth ndi Pafupi. Bukuli likuphunzitseni kugwiritsa ntchito kompyuta, kuyang'ana pa decoan Linux, kugwirizanitsa mapulogalamu a passwon Chitsimikizo kapena zolinga zina, kusanthula kwa ID, chithunzi ndi makanema otetezeka kuti mapulogalamu anu azikhala otetezeka, pokonza ndalama, ntchito za Cryptocornrecy, ndi zina zambiri. Muphunzira momwe mungapangire zida zanu za Bluetooth, ndi mabatire, zolanda, microcants, machesi, kugwiritsa ntchito waya, zosindikizidwa komanso zosindikizidwa. Ndikuwonetsa maginitsi a 3D omwe amagwiritsidwa ntchito popanga ndi chida chowonjezera komanso kupanga zida zanu, chifukwa chake mumatha kupanga zida zanu zophatikizira, mabatire, mabwalo amagetsi, ndi zopanga zamagetsi. Ndipo muine ndi Bluetooth ndi ukonde. Makamaka, tikambirana kafukufuku wa milandu iwiri, ochita masewera olimbitsa thupi komanso mfuti yonyamula katundu, yomwe imapangidwa ngati mawonekedwe a mawonekedwe osonyeza kapena kuvomerezedwa ndi intaneti. Muphunzira momwe mungapangire tsamba lawebusayiti kuchokera pansi popanda chochitika choyambirira, pangani zothandiza, zotetezeka, zokongola, zokongola komanso zofunikira komanso zofunikira komanso zofunikira komanso zofunikira kwambiri. Muphunzira kugwiritsa ntchito maphunziro a makina ndi masomphenya a makompyuta kuti malo akhale malo otetezeka komanso othandiza, onjezerani mawu anu kuti apange zitsanzo zanu zothandiza kuti mupatse anthu ndi bizinesi yanu. Bukuli lidzayang'ana kwambiri pa TV Bukuli limaphunzitsa UNIX, makamaka Debana (Ubuntu), Bash Shell, PSTML, ndi Mapulogalamu angapo othandiza a Python monga Git ndi FFMPEG. Ndikuphunzitsaninso momwe mungagwiritsire ntchito Cryptocorncy, ndikulipira mu Cryptocorncy kapena kuchokera ku makhadi okhazikika pomwe ngakhale atalipira alendo anu kuti mupange ndalama yanu ngati mungasankhe kutero. Ndikuphunzitsani momwe mungapangire ndalama kuchokera patsamba lanu kudzera patsatsa malonda komanso momwe mungakonzekerere pulogalamu yofufuza Ndikuphunzitsa momwe mungagulitse mapulogalamu anu, kutsatsa, kusangalatsa kwa makasitomala kufunafuna intaneti kudzera mu mawonekedwe omwe alipo, ndizotsika mtengo, komanso kumathandizanso. Ndikuphunzitsani momwe mungasungire deta yanu pamakompyuta omwe amakugwiritsani ntchito ndikusunga tsamba lanu, ndikupanga mafoni anu kuti abweretse batani lanu lokhalo. Bukuli lifotokoza za kukwaniritsidwa ndi kugawa media ambiri, kuchokera pamavidiyo kuti mupange tsamba lotsiriza, ndikupanga, pulogalamu yanu ndi kampani yanu imawoneka bwino m'njira yabwino. Muphunziranso maupangiri ndi machenjera kuchokera kwa ine, kuyambira maupangiri ogwiritsira ntchito, zopanda pake monga zodzikongoletsera zokhala ndi zida zonse zomwe mungafunire popanda kuchita. Bukuli limatchedwa "zothandizaKuphunzira Kuzama Kwambiri ndi Chitetezo Mwachitsanzo Kupititsa patsogolo mawonekedwe, ndi ntchito zina monga zolosera zonenedweratu, monga chithunzi chotsimikizika, kapena chifaniziro cham'madzi, Nkhope. Mutha kupanga kompyuta ya seva iyi yotetezeka iyi, kompyuta yomwe ingakufunseni dzina la IP, kapena ngati mukukonzekera kugwiritsa ntchito pulogalamuyi, kapena ngati pulogalamu yanu (tsamba lililonse lomwe mumagwiritsa ntchito). Aliyense amene amapanga mapulogalamu omwe ali osatetezeka amakhala ndi tanthauzo la zomwe zimatanthawuza. Pulogalamuyi ndi yotetezeka kwambiri chifukwa zida ndi maakaunti omwe timagwiritsa ntchito nthawi zonse sizikhala m'manja mwa aliyense amene ali ndi vuto la mapulotoli. Ichi ndi chinthu chofunikira kwambiri bukuli. Kompyuta yolumikizidwa ndi yotetezedwa ndi chizindikiro chokhazikika, chotchedwa ndi ssh kapena chotetezeka chipolopolo, chifukwa cha seva yazithunzi zimapereka zopezeka ndi zida zachitetezo cha seva. Seva ya pa intaneti ili ndi mwayi wogwiritsa ntchito pa intaneti, yomwe ndi gawo loopsa kwambiri la chipangizo cha wogwiritsa ntchito, chifukwa ndi malo omwe wosuta amatha kugwiritsa ntchito pulogalamu ya pa intaneti. Chidachi chitha kupezeratu mawu, tsamba lomwe mumawona, ndipo limatha kujambulanso zithunzi, madio ndi makhadi otsika mtengo, ndikulemba ndi kutsimikiziridwa pa webusayiti. Kugwiritsa ntchito zida zonse zomwe muli nazo, ndi buku lino mudzadzikomera tsamba lawebusayiti lotetezeka, ndipo muthane ndi kompyuta yotetezeka yomwe imakugwiritsani ntchito

Kumene Mungayambire: Mwalandilidwa kuti muludumphe gawo lomwe ndimayambira, kapena gawo lililonse, ku nambala yeniyeni yomwe mukufuna, makamaka ngati mukufotokozera mwatsatanetsatane bukuli komanso zitsanzo za Akeof. Ngati mulibe chidziwitso polemba, ndimalimbikitsa kwambiri kuti muwerenge bukuli, ndipo ndikulimbikitsani kuti muwerenge magawo apitawo, kuti muwonetsetse kuti bukuli ndilolondola kwa inu. Ngati bukuli silikuyenera kwa inu, lingalirani za kukhala ndi bwenzi kapena wachibale yemwe angakhale ndi chidwi chofuna kuphunzira za umeyi, ndipo ngakhale kungoyang'ana ndi kupendekera ndi kukaphunzira kwa iwo kuti mudzaze inu monga mphunzitsi, kapena aphunzitsi ena adatero. Yambani komwe mungathe, gawo lililonse la bukuli likhala lothandiza ngati mukufuna kupanga pulogalamu yothandiza, ndipo lingalirani kuti mapulogalamu abwino amapangidwa ndi kasitomala wanu. Tsopano mukundidziwa, mukudziwa bukuli, ndipo mwakonzeka kuyamba. Kuyamba, kunyamula kompyuta (ngakhale laputopu yotsika mtengo kuchokera pamalo ogulitsira bokosi, Amazon, kapena desktop imagwira ntchito, ndikuyikhazikitsa m'njira yomwe imakuthandizani.

Momwe mungawerenge buku ili: Malemba omwe amawonetsedwa, amawonetsa kuti malembawo ndi omwe ali mu lamulo lokhalokha, pomwe mungalembe nambala yomwe mumathamanga. Chiwonetsero cha Lamuloli ndi chipinda cholunjika kwambiri ndipo chimafunikira kuti musawonetse, kuwonjezera ntchito yanu ndikupanga zinthu kukhala zosavuta pa inu.

Kuyambapo: Tiyeni tilowemo. Tiyambira ndi nambala yomanga pa makina akomweko ndikuyamba kupanga tsamba lolumikizidwa pa intaneti. Izi ndizotetezeka kuti ziyambe nazo, siziwononga chilichonse, ndipo ndizosavuta kwa inu. Kutengera ndi makina anu ogwiritsira ntchito, kulowa mu chipolopolo cha bash kudzakhala kosiyana pang'ono. Kwa Mac OS, ndikupangira kukhazikitsa makina ena panthawiyi, monga momwe mungagwiritsire ntchito mogwirizana kwambiri ndi makina enieni. Opereka Zosiyanasiyana monga bokosilo ndi ma polelell amatha kuyendetsa makina owonera ubuntu mwachindunji pamakina, ngati mungakonde kugwiritsa ntchito mawonekedwe adziko lomwe akulimbikitsidwa kuti apange zinthu mwachangu. Ngati mukugwiritsa ntchito linux kapena mawindo, zomwe ndikupangira, ziyenera kukhala zosavuta kupanga ntchito. Tsegulani terminal yanu, sinthani momwe mukuwonera momwe mungaonere, ndikuyambiranso kutsatira mawindo. Ngati mukugwiritsa ntchito mawindo, chonde tsatirani Gawo 1.

Gawo 1: - Ogwiritsa pa Windows okha Mu Windows, Lowetsani Lotseguka Lotseguka Pang'onopang'ono Monga Woyang'anira ndi Mtundu wsl -install

Gawo 2: - Pitilizani apa, kapena kudumpha 1 mpaka pano ngati simugwiritsa ntchito Windows Potsegulidwa otseguka, (kutengera OS yanu, yotchedwa Ubuntu mu Windows, terminal ku Mac kapena Linux, kapena dzina lofananira), kuyamba ndikupanga ntchito. Timachita izi ndi lamulo la MKDIR, lomwe limapanga chikwatu. Ngati mukufuna kupanga chikwatu kuti musunge polojekiti yanu, yomwe ikulimbikitsidwa, gwiritsani ntchito lamulo la CD kuti lisinthe ku chikwatu ndipo

CD / Njira / Kupereka - Njira ndi mafoda (mafayilo anu) omwe amatsogolera kuwongolera, njira yanu yolowera ndi ~ Kusintha ku chikwatu chokhazikika, lembani CD kapena CD ~ Chitsanzo cha MKDIR - Sinthani "Chitsanzo" ndi dzina la chikwatu

Tsopano muli ndi chikwatu chogwira ntchito yanu. Kukhala monga ndikofunikira kwambiri kuti asunge chikwangwani ichi chomwe muyenera kusintha makina ena kapena kuyika nambala yomwe mwalemba Koma kupanga script kumatenga code pang'ono, ndipo code imayenera kungokhala yothandiza kuti ikhale yothandiza momwe mungathere. Chifukwa chake tiyeni tiike cholembera kuti malembedwe olembedwa. Tiyeni tiyambe mwa kupanga zolemba ndi kupangitsa kuti zitheke. Tigwiritsa ntchito sudo, Chmod ndikukhudza izi, ndikuyimbira foni "choyimira".

Kukhudza kwa Sudo Sudo Chmod A + X / USR / bin / ascript sudo nano / USr / bin / choyimira

Tsopano talenga zolembazo, zidapangitsa kuti zitheke, ndipo tili okonzeka kusintha. Nano ndi mkonzi wolemba yemwe angakuloreni kuti musinthe mawu osadina, zomwe ndizosavuta kuposa kungogwiritsa ntchito mawonekedwe ogwiritsa ntchito. Kusintha fayilo ndi nano, gwiritsani ntchito nano kenako njira yopita ku fayilo. Kupanga script yomwe imapanga script, ndizofanana ndikupanga zolemba zathu poyambirira. Tigwiritsa ntchito nambala yomweyi monga pamwambapa, ndikusintha dzina la script, "chonchi" ndi gawo lotsutsana, $ 1. Izi zimatiuza kuti tiyitaneni pa script polemba neoript necript yatsopano, yomwe tingapangire script iliyonse yatsopano posintha "Newscript" ndi dzina la zilembo zanu. Khodi ku Nano ikuwoneka bwino:

SuDo kukhudza / USR / bin / $ 1 sudo chmod a + x / USR / bin / $ 1 sudo nano / USr / bin / $ 1

Ndipo kutseka Nano, titha kugwira batani lolamulira ndikusindikiza X, ndiye y kutanthauza kuti tikusunga fayilo, ndikugunda. Tsopano m'malo moimira malamulo atatu awa kuti musinthe script, tidzatha kulemba ziwonetsero za SuDo zomwe zimalembedwanso kusinthira zilembozo. Izi zikugwira! Ndipo zolemba zilizonse zatsopano zimatha kuthamangitsidwa mosavuta poyitanitsa chipolopolo. Tiyeni tisunge ntchito yathu tsopano: tiyeni tilembe zolemba zosunga zobwezera kuti tisunge zolemba zathu zatsopano kenako nkubwezeretsanso zolemba zathu zobwerera.

SuDo Zosunga Zosunga za Suro

Tsopano, ku Nano:

sudo cp / USr / bin / bripup / njira / kwa / kuwongolera / sudo cp / USr / bin / ascript / njira / kwa /

Pomwe / panjira / ku / ku mesenti ndi njira yopita ku polojekiti yomwe mudapanga ndi Mkdir. Pambuyo pake tidzaphunzira momwe tingagwiritsire ntchito njira zobweretsera zotere ndi chiuno ndi mndandanda, zomwe ndizocheperako, koma pakadali pano tisungeni mizere ingapo. Kuthamangitsa zolemba izi ndikusunga nambala yanu, sungani fayiloyo ku Nano ndi Kulamulira + X, y ndikubwerera, ndikulemba pansipa

chosunga

Ngati mukulimbikitsidwa pa mawu achinsinsi mukamawerenga bukuli ndikutsatira chipolopolo, chonde lowetsani mawu achinsinsi ogwiritsa ntchito bwino, mudzakhala ndi mayesero atatu musanayambenso kuyendetsa lamulolo. Mutha kugwiritsa ntchito mivi ndi pansi kuti musinthe malamulo ndikuwasintha, ngati muyenera kuthawa kawiri. Kanikizani mosavuta ndikusankhidwa mwachidule kuti musankhe lamulo, musanasinthe lamulolo ndi kumanja, ma brows achokapo ndikuchotsa kiyibodi, ndikuwuthamangitsa.

Zabwino! Munakwanitsa kupanga zolembedwa zowerengeka zobwezera zomwe zimabweza zolemba ziwiri zofunika kwambiri. Titha kusunthira zinthu pambuyo pake monga polojekitiyi imakula, koma izi zimagwira ntchito pano. Tiyeni tisunthiretu mtambo, tigwiritsa ntchito Githob Cifukwa (ngakhale pali njira zina zambiri zothandizira kuti mubwezeretse pulogalamu yanu pachinsinsi kapena kiyi. Ndizothandiza kupulumutsa mapulogalamu anu, makamaka pamene tikusamukira ku Ambox zomwe nthawi zina zimasweka pomwe mzere wa nambala umalephera, ndikusiyani pomwe simupeza mwayi kuti usabwerere zokha, zomwe tidzaphimba.

Ngati simukugwiritsa ntchito makina owonera kale a Ubuntu panthawiyi, ndikugwiritsa ntchito makina owoneka bwino a Ubuntu pakadali pano chifukwa uzipangitsa moyo wanu kukhala wosavuta pokhazikitsa tsamba lofunikira kuti apange tsamba la kompyuta yanu. Tidzatsogolera nambala ku seva ya intaneti posachedwa, koma tikufuna kuonetsetsa kuti pali zigawo zingapo za seva yathu yomwe ikugwirizana ndikunama, ndipo gwiritsani ntchito ma phukusi angapo a Linux kuti muchite izi. Ngati mukufunabe kugwiritsa ntchito Mac OS, mwalandiridwa kuti mufufuze ndikukhazikitsa mapaketi ofunikira pa intaneti, koma sipangakhale njira zina pa phukusi lililonse buku kapena mndandanda uliwonse liziphimba.

Tiyeni tiwonjezere malamulo ochepa kuti agwire ntchito yathu ndi script yosungirako ndalama poyendetsa lamulo lalamulo la SuDo.

# ... git onjezerani git prof -m "Sungani" Git Push - mbuye

...

Apanso, kuwongolera X kuti mupulumutse.
sudo touch /usr/bin/ascript
sudo chmod a+x /usr/bin/ascript
sudo nano /usr/bin/ascript
Tsopano tikuyenera kuchita zina nthawi imodzi kuti ntchitoyi. Chifukwa posachedwapa padzakhala gat polojekiti, sitifunikira kulemba lamulo lililonse nthawi iliyonse yomwe tikutumiza kuchokera ku malo osungirako git, koma tidzapendekera izi tikalemba zolemba zathu zothandizira. Kuti tiyambire, tiyeni tiwonetsetse kuti tili pachiyanjano choyenera ndikuyambitsa malo osungira git ndikupanga makiyi a ssh.

CD / njira / ku / ku chikwatu git it git nthambi -m SS-Keygen

Tidzalemba ssh-keygen, kiyi yatsopanoyo iyenera kupulumutsidwa mu chikwatu chanyumba pansi pa chikwatu chotchedwa .sh. Amatchedwa ID_RSA.PUB. Tiyeni tipeze kiyi ndi kuzijambula. Kuti muwone,
sudo touch /usr/bin/$1
sudo chmod a+x /usr/bin/$1
sudo nano /usr/bin/$1
CD ~ mphaka .Sssh / ID_rsa.pub

Koperani zolemba zomwe zimabwezedwa ndi lamulo lomaliza, ndikupanga akaunti yanu ndi Git Wopereka (musanayambe kugwiritsa ntchito shub), musanawonjezere kiyi ya ssh ku akaunti yanu. Mukakhala ndi akaunti, dinani menyu kumanja ndikulowetsa makonda, musanawonjezere kiyi yanu ya ssh ndi gpg yolowera pamenyu. Sankhani Onjezerani batani la SHsh ndikuwonjezera anu pakuyipirira ndikuyipereka mutu, musanapulumutse ndikubwerera ku Gitub kuti mupange malo atsopano. Izi ndizofanana ndi othandizira ena, muyenera kuwerenga zolemba zawo. Mu kasinthidwe watsopano, perekani chidwi chanu ndi dzina lofotokozera kuti mukufuna kufalitsa, ndipo onetsetsani kuti mulibe mafayilo osaphatikizidwa. Nthawi yomweyo chosungiracho chidapangidwa, koperani zotsekera ndi ssh url, ndikuyika mu lamulo lotsatirali.

GITY DYONOTOT YOPHUNZITSIRA GIT: // ... (URL yanu yakutali)
sudo ascript backup
Tsopano mutha kubwerera ku malo anu ndi CD, mudzadziwa izi. Yesani zilembo zanu zobwerera tsopano ndi zosunga

Zabwino! Tsopano titha kulembetsa. Tiyeni tikhazikitse Django tsopano kuti tili ndi vuto la kubisala ndi git. DJAngo imatipatsanso pulogalamu yathu, Bash imatha kuchita izi ngakhale kuti Django iyenera kukhala ndi kukhazikika kosavuta (kumatha kukhala olumala ndikukonzekera ndikukonzedwa mosavuta).

Kukhazikitsa mapulogalamu ku Ubuntu, tidzagwiritsa ntchito lamulo la Sudo APt. Choyamba, tiyeni tisinthe ndikukweza pulogalamu yomwe tili nayo kale. Izi zitha kuchitika ndi sudo apt-pezani zosintha ndi sudo apt-perekani. Kenako, tiyeni tikhazikitse Python ndi malo athu enieni, nyumba yathu yotsatira: Potsatira: Sudo Apt-Python3 Python3-Vannv
sudo cp /usr/bin/backup /path/to/directory/
sudo cp /usr/bin/ascript /path/to/directory/
Izi ndi zonse zomwe muyenera kupita ndi DJAAnga pankhani ya mapulogalamu mu Ubuntu. Kwa Windows ndi Linux Izi ziyenera kukhala zowongoka bwino, koma kwa Mac mwina mungafune kukhazikitsa makina ogwiritsa ntchito ufulu kapena ma desilels desktop ndikukhazikitsa chilengedwe cha Ubuntu. Ubuntu ndizofunikira kwambiri pankhaniyi chifukwa ndi pulogalamu yomwe mawebusayiti omwe amayenda ndikuwapangitsa kuti azigwira mapulogalamu ndi mapulogalamu onse omwe tawalemba kale.

Tiyeni tiwerenge mu Django.

M'dongosolo lathu kachiwiri, ndi CD:
backup
Python -m venv venv # imapanga malo omwe nambala imasungidwa gwero la venv / bin / yambitsa # imayambitsa mawonekedwe apamwamba PIP kukhazikitsa Django Django-Admin Cimenite. # Pomwe mysite ndi polojekiti yomwe ndimayambira mu chikwatu changa chapano.

Imapanga malo omwe nambala yake imasungidwa

Imayambitsa chilengedwe

Komwe mysite ndi ntchito yomwe ndikuyambira mu chikwatu changa chapano.

Django akungotipangitsa kuti tiyambitse, chifukwa Django akukhazikitsa seva ya webusayiti ndipo akuchita zonse zomwe tikufuna kuti tipeze tsamba loyambira lakomweko ndikuthamanga. Tsopano popeza tili ndi Django adayika, tiyeni tisinthe makonda pang'ono kuti ipange ntchito momwe tikufunira. Choyamba, tiyeni tipange pulogalamu yatsopano

Python Carning.y Staypp Dyd

Mudzazindikira pulogalamu yoyamba imatchedwa chakudya. Pulogalamuyi iyenera kutchedwa iliyonse yomwe mungakonde, ndipo tipanga mapulogalamu atsopano, koma dzina la pulogalamu iliyonse liyenera kukhala losasinthika nthawi iliyonse pulogalamuyi ikutchulidwadi nambala. Kuti muwonjezere pulogalamu yatsopano, nthawi zonse tisintha makonda. Kugwiritsa ntchito nano,

Nano App / Zokhazikika.py

Mu zoikamo, pezani masitepe ndi osiyana ndikulekanitsa [] mizere itatu. Pogwiritsa ntchito malo anayi pamzere wopanda kanthu, onjezerani 'kudyetsa', kapena dzina la pulogalamu yanu. Gawo ili la zoikamo.Pey ayenera kuwoneka:
# Adayika_akhuli = [
    'Dyetsani',
]
Tisanaiwale, tiyeni tiyese kuti DJAngo ikugwira ntchito. Kugwiritsa ntchito lamulo la Python.

Tsopano, tiyeni tiwone kulemba nambala ina ya Python. Django ali ndi zigawo zikuluzikulu zitatu, onse a iwo amathamanga ndi nambala yonse. Zigawozi zimatchedwa mtundu, kuwona ndi template ndi template, ndipo aliyense ali pamlingo wapamwamba komanso wotsika patsogolo pa tsamba lomwe tsambalo limaperekedwa kwa wogwiritsa ntchito.

Mtunduwu ndi nambala yomwe imasunga chidziwitso mu database kuti mubwezeretse, kukonza ndi kubwereketsa.

Malingalirowo amaganiza momwe chitsanzo chimachitikira, kupusitsidwa, ndikusinthidwa, pafupifupi malingaliro aliwonse amagwiritsa ntchito chitsanzo mwachindunji.

Template ndi nambala ya HTML yokhala ndi mabelu ena owonjezera ndi milomo yotchedwa templalale. Template imaperekedwa ndi malingaliro pomwe imadzazidwa ndi Python Code ndi nkhani monga zitsanzo ndi zidziwitso (zidziwitso) ndi zingwe) kuchokera pamalingaliro.
cd /path/to/directory
git init
git branch -m master
ssh-keygen
Django ili ndi zigawo zinanso, kuphatikiza koma osangokhala:

Makonda, omwe amakhazikitsa pulogalamuyi monga takambirana.

URL, yomwe imatsata kuti wosuta amatsata kupeza magawo ena a intaneti.
cd ~
cat .ssh/id_rsa.pub
Mafomu, omwe amatanthauzira momwe chidziwitso chomwe chimatumizidwa ku seva chimasungidwa ndikusungidwa kwa database komanso wogwiritsa ntchito. Awa ndi maziko a chidziwitso cha seva, ndipo amatha kuvomera mtundu uliwonse wamalonda ogulitsa makompyuta, manambala, komanso owona / abodza.

Ma tempulo omwe ali nambala ya HTML ndi template ndi tebuloni kusiyana pakati pa Python, chidziwitso cha Python chitha kukhala ndi tsamba lokhazikika pa intaneti ndipo limathandizanso kukhala pafupi ndi seva.

Mafayilo okhazikika, omwe nthawi zambiri amakhala JavaScript ndipo ndi malaibule omwe seva amatumizirana ndi template.
git remote add git://… (your remote URL)
Mafayilo a Media, omwe seva amagwira ntchito kapena amangopangidwa kunja, kapena amangolembera seva asanakonzedwe ndikuyika seva ina (ndowa) kuti mupewe.

Midselware, zomwe zili zidutswa zamakono zomwe zimayendetsedwa nthawi yomweyo monga malingaliro aliwonse ndipo zimaganiziridwa kuti "zikuphatikizidwa" m'malingaliro.

Zochitika m'malo mwake, zomwe zimatsata malingaliro aliwonse ndipo zimagwiritsidwa ntchito kuwonjezera nkhani yowonjezera.

Kuyesa, komwe kumatsimikizira kuti wogwiritsa ntchito kapena wopemphayo umapereka zofunikira zina zisanachitike.

Ogwiritsa ntchito, omwe amalamula momwe timalonda amagwirira ntchito komanso kuyankhana.

Admin, yomwe imagwiritsidwa ntchito kulembetsa mitundu kuti athane ndi tsatanetsatane mkati mwa tsamba la Django.

Selari, yomwe imatanthauzira ntchito za Asynchronous magawo a Django Code imatha kuyamba kuthamanga musanafike potsatira ntchito yotsatira.

Django atha kukhala ndi zigawo zina zambiri, zomwe tikambirana mwatsatanetsatane apa. Pali njira zambiri zopangira Django zothandiza kwambiri, kuwonjezera ma webbockets, omwe amafulumira mwachangu, udzu winawake, makamaka pamalingaliro a Django opangidwa. Onani Kugwira Ntchito ndi kiyi chifukwa nthawi zambiri amalengeza chidutswa chilichonse chazomwe chimakhala pachimake pa ulalo wake, kapena gawo la seva.

Choyamba, tiyeni tiwone kuwona. Onani kuti ntchito zimayamba ndi kutumiza nambala yomwe ingagwiritsidwe ntchito powonekera, ndipo zimafotokozedwa pogwiritsa ntchito matanthauzidwe okhazikika kapena makalasi. Maganizo osavuta kwambiri amafotokozedwa ndi ntchito tanthauzo la Deku, ndikubwezera Httpresptaty ndi template yoyamba. Tiyeni tiyambe pofotokozera lingaliro loyambira kuti mubwezeretse mawu akuti "moni dziko lapansi". Kumbukirani kuti nthawi iliyonse mukawonjezera code pambuyo poti mawu, ngati, pomwe, chifukwa, etc, muyenera kuwonjezera malo anayi a matanthauzidwe omwe mungafune kugwira ntchito yanu. Tidzalowa munthawi iliyonse ya izi.

Kuchokera ku chikwatu cha tsambalo, Sinthanitsani / Mawonedwe a Incy.ypy pogwiritsa ntchito nano ndikuwonjezera mizere iyi mpaka kumapeto kwa fayilo.

Kuchokera ku Django.http Tongani Httpresptaty Deto black (pempho): Bweretsani Httprespense ('Moni Dziko Lapansi')

HJAngoppess ya Django imayankha ndi chingwe, chodziwika ndi kutsegulidwa ndikutseka '. Nthawi iliyonse mukamatha kugwiritsa ntchito ntchito kapena kalasi, monga pempho kapena chingwe, muyenera kugwiritsa ntchito kholo (, kutseguka ndikutseka).

Izi sizomwe timafunikira kuwona malingaliro athu panobe. Zachidziwikire, sitinamuuze seva pomwe malingaliro ali, timafunikirabe kutanthauzira njira yomwe lingaliro liyenera kuperekera. Tiyeni tiyambe mwa kufotokozera njira yoyambira mu pulogalamu / urls.py, ndipo tilowa m'magulu.
python -m venv venv # Mu pulogalamu / urls.py, onjezani mzere pambuyo poti mawu oyambira pambuyo poyambira kulowetsa malingaliro omwe tidangopanga.
source venv/bin/activate # Kuchokera ku DEVERANI ZOTHANDIZA POPANDA ZINSINSI ZABWINO
django-admin startproject mysite . # Tsopano, tiyeni tifotokozere malingaliro. Mawonedwe amawoneka ndi zinthu zitatu, gawo limodzi, lomwe limafotokoza za seva yomwe imachitika pokhapokha ngati ikuyenera kusinthidwa ndikugwiritsa ntchito dzina linalake. Ndizomveka kuchita zinthu motere ndikusinthasintha, chifukwa codebase yanu ikhala yosintha yomwe imafunikira kusinthasintha ndikusinthasintha kuti ikhale yofunika komanso yosavuta kugwira nawo ntchito. Izi ndizomwe malingaliro anu angaoneke ngati, mutha kuwonjezera izi kwa urlpatters = [gawo la pulogalamu / urls.py. Njira yowonetsera imafotokozedwa ndi zigawo zitatu zomwe zafotokozedwa pamwambapa, ndipo ntchito yotchedwa njira. Mindandanda yanu ya URL ndi mndandanda, motero onetsetsani kuti nthawi zonse muzitha chilichonse mwa iwo ndi comma, chifukwa izi zimasiyanitsa aliyense. Chilichonse chiyeneranso kupita pamzere watsopano, kamodzinso ndi malo anayi patsogolo pake, monga pulogalamuyi mu zoikamo.py. Tifotokozera gawo loyamba la malingaliro ndi chingwe chopanda kanthu, kuti mupange malingaliro omwe amayenda pa mizu ya seva ya pa intaneti. URL yanu.Panu tsopano ikuwoneka ngati iyi:
Kuchokera ku DEVERANI ZOTHANDIZA POPANDA ZINSINSI ZABWINO urlpatters = [ Njira (' ]

Ili ndiye maziko pakupanga tsamba la webusayiti ndi DJAAnga yomwe imakhazikika kwathunthu. Pofuna kupanga tsamba lamphamvu kwambiri komwe tingayambire kuyika zidziwitso, monga zithunzi, makanema, audio ndi ena, tidzafunika kugwiritsa ntchito zitsanzo, zomwe tifunika kutsatira. Pakadali pano, tiyeni tiwone nambala yathu ndikuyendetsa seva. Kuti muwone nambala ya zolakwitsa, kuthamanga:

Python Carnal.PY DZANI
python manage.py startapp feed
Ngati pali mauthenga olakwika, muyenera kubwereza mosamalitsa zosintha zomwe mudapanga pa pulogalamu yanu ndikuwona ngati pali chilichonse chomwe chikufunika kukhazikika, chowoneka bwino, chopanda kanthu, kapena china chilichonse. Kuwerenga kudzera mu uthenga wolakwika (ngati muli ndi imodzi), muyenera kuwona njira yopita ku fayilo yomwe mudapanga kapena nambala ya mzere, choncho yang'anani mufayilo ndi kuwona ngati mungakonze chilichonse chomwe chilipo. Ngati mwakonza nkhaniyo, yaninso lamulo lomwe lili pamwambapa. Mapulogalamu anu akakhala okonzeka kuthamanga ndipo akugwira ntchito, muwona "cheke cha System sichinazindikiretu." Tsopano mwakonzeka kupita. Thamangani seva ndi:

Python Carnity.y Offring 0.py.0.0.0:0:8000

Tsopano tsegulani tsamba la msakatuli ndikuyenda ku http: // koloko: 8000. Muyenera kuwona malembawo omwe abwerera mu makolo ndi zolemba za Httprespress Plant yanu. Ichi ndi chitsanzo chofunikira chabe, koma ngati mutachipanga kutali, mumamvetsetsa zoyambira momwe linux, Bash, Python, ndi DJeron, ndi Django. Tiyeni tisambe pang'ono mu mtundu wina wa database, ndikuyang'ana mphamvu ya kalasi ya Python posungira zambiri. Kenako, tiyamba kugwirizira HTML ndi CSS tisanapangitse tsamba lathu tisanapangitse tsamba lathu kukhala lodziwika bwino, losinthika pogwiritsa ntchito makina a Javascript ndi maphunziro.
nano app/settings.py
Makalasi amasungidwa m'mitundu. Kugwiritsa ntchito nano, kusintha pulogalamu / mitundu.y ndikuwonjezera kalasi yatsopano. Kalasi imafotokozedwa ndi tanthauzo la kalasi ndipo imadutsa kwambiri kuti imalandira kuchokera kwa mitundu iyi, motere.model. Dzinalo la kalasi likubwera pambuyo potanthauzira, ndipo pambuyo pa kalasi ya A: (koloni) ligwiritsidwa ntchito, malingaliro ndi matanthauzidwe a ntchito zomwe zimamangidwa pansipa. Kalasi yathu imafunikira ID yomwe titha kugwiritsa ntchito kuti titengepo ndikusunga zapadera, ndipo zimafunikiranso gawo lolemba kuti zisunge zambiri. Pambuyo pake titha kuwonjezera nthawi ya Timestams, mafayilo (owona kapena abodza kapena abodza kapena abodza kapena ayi kapena angagwiritsidwe ntchito), ndipo itha kugwiritsidwa ntchito kuti azimangika. Tiyeni tikwere nambala yomwe ili pansipa:

kuchokera ku ma django.db kulowetsa Mitundu # zomwe zimagwiritsidwa ntchito pofotokoza kalasi yathu ndipo ndi malingaliro Kalasi Lolemba (Models.model): # Tanthauzo la kalasi yathu ID = Models.akufield (yoyamba_Kodi Vesi = Models.Texfield (Yopanda = "') #, pakadali pano, mawu ena, osagwirizana ndi chingwe chopanda kanthu.

Kutulutsa komwe kumagwiritsidwa ntchito kutanthauzira kalasi yathu ndipo ndi malingaliro
INSTALLED_APPS = [
    'feed',
]
Tanthauzo la kalasi yathu

ID ya mtundu wathu, kiyi yongopangidwa yokha yomwe ingatifunseni molingana ndi izi, muzisunga mwapadera, ndipo ndizothandiza pamene tikufunika kulumikizana ndi chitsanzo chakecho chikapangidwe.

Mfundo zomwe timasiyidwa m'masitolo athu, pankhaniyi, malembedwe ena, osasunthika ku chingwe chopanda kanthu.

Tsekani ndikusunga fayilo monga tidayambira.

Pali magawo ena ambiri ndi zosankha zomwe tizifufuza tikamasintha kalasi iyi pamene pulogalamu yathu ikusintha, koma izi ndizofunikira kwambiri kuti mupange pulogalamu kuti itumize mawu. Komabe, izi sizigwira ntchito zokha. Monga tafotokozera kale, tidzafunikira mawonekedwe a chizolowezi cha url ndi dongosolo la url kuti lipange ntchito yachitsanzo iyi, ndipo tidzafunikiranso fomu limodzi ndi template. Tiyeni tiwone fomu yoyamba.

Kutanthauzira fomu, Sinthani pulogalamu / mafomu.py ndi nano ndikuwonjezera mizere iyi. Tifunikira zogulitsa ziwiri, gulu lathu la ma forms, komanso mtundu womwe tidapanga (kudyetsa.del.dels.most), gawo limodzi ndi subclass lotchedwa Meta limalumikizana ndi. Fomuyi imathanso kukhala ndi ntchito yoyambira yomwe imakhazikitsa chidziwitso popempha, molingana kapena ayi, tiona izi pambuyo pake.

Mitundu yachitsanzo ndi yofunika kwambiri chifukwa amatha kupanga chitsanzo kapena kusinthanitsa chitsanzo, motero tidzazigwiritsa ntchito kwa onse awiri. Tiyeni tifotokozere imodzi mu mafomu.

Kuchokera ku mafomu a Django Kuchokera kudyetsa.Medels kulowetsani positi Classform (Fomu.modelform): lembani = forms.charfield (widget = Forms.TESTARA) kalasi meta: Model = Post minda = ('mawu',)

Izi ndiye zoyambira zomwe mawonekedwe ndi mawonekedwe amawoneka. Fomu iyi ikhoza kugwiritsidwa ntchito popumira kapena kusintha positi, kusintha malembawo. Tiona kuphatikiza fomu iyi kukhala lingaliro lotsatira. Choyamba, tiyeni tisamuketse ndikusamukira database kotero kuti nambala yathu ingayanjane ndi mtunduwo ukamayenda. Kuti muchite izi, thanizani malamulo otsatirawa:

Python Cardic.Pations Python Carnity.PY ikani

Izi zimatenga mphindi kuti zitheke, koma zikatero, zimakupatsani mwayi wofikira m'chigawocho, pakati, kapena kwina kulikonse mu pulogalamuyo. Tiyeni tipitirize kupanga malingaliro komwe titha kuwona mtundu wathu. Sinthani feed / malingaliro.py ndikuwonjezera nambala yotsatirayi, monga taonera. Simungafunikire kuwonjezera chilichonse pambuyo pa # chikwangwani cha #, code ija ndi ndemanga zomwe zimagwiritsidwa ntchito pofotokoza zambiri za code. Tiyamba kulemba mtundu wathu m'malingaliro, ndikuwonjezera gawo lomwe tingapatse mu template monga mndandanda wowonetsera. Kenako, tiwonjezera template yomwe tingapereke mawonekedwe ndi mtundu ndi batani kuti tipangire chinthu chatsopano malinga ndi chithunzicho ndikuyilemba seva. Izi zikuwoneka zovuta, kotero tiyeni tingotenga liwiro ndi sitepe. Tisanamalize kuwona, tiyeni tipange template yomwe imangopereka chitsanzo ndikuwonetsetsa kuti titha kuona popanga malo atsopano mu chipolopolo. Umu ndi momwe malingaliro akuyenera kuwonekera:

Kuchokera kudyetsa.Medels kulowetsani positi Kuchokera ku Django.shotcutts Toit Render, amaperekanso Kuchokera ku Django.rlls kulower Tchulani chakudya (pempho): zolemba = positi.all () # funsani zolemba zonse mu database mpaka pano Kubwezerani Render (pempho, 'chakudya / chakudya.html', { 'Zolemba': }

Funsani zolemba zonse mu database mpaka pano

Zonsezi zimawoneka zophweka kwambiri mpaka titafika pansi. Perekani, mtengo womwe wabwerera ndi ntchito m'malo mwa kuyankha kwa HTTP monga chitsanzo cham'mbuyomu, chimalandira gawo lakelo (pankhaniyi), zomwe tsopano zingabwezetse template yomwe yatchulidwa mu ntchito. Templateyo ikhala chikalata cha HTML ndi chilankhulo pang'ono chotchedwa jinja2, chomwe chimapangitsa zidziwitso za Python mu HTML.

Kuti muyambe kupanga ma templates, pangani zowongolera ziwiri.

MKDIIR FET / templates MKDIIR FET / templates / chakudya

Kenako, sinthani template mu chikwatu pamwambapa, kudyetsa / templates / chakudya, ndikuwonjezera nambala ya ichi. Tiyeni tiwone template ya ichi.

Chakudya {% ya positi mu posts%} {it.Text}} {% endfor%}

Ili ndi template yosavuta kwambiri. Imatanthauzira ndikutseka ma tag a html, mtundu wa chikalata cha chikalata, chinsinsi cha thupi ndi mutu wambiri womwe umawonjezera mzere wambiri womwe umawonjezera mzere uliwonse pamndandanda wa masikono ngati gawo limodzi mu template. Izi ndizomwe zimafunikira kuti muchepetse zolemba, koma palibe mu database pano. Tiyeni tipangire ena ndi chipolopolo. Titha kuyendetsa chipolopolo ndi kuwongolera.py

Python Carnal.PY Shell

Tsopano tiyeni titumizire chitsanzo chathu

Kuchokera kudyetsa.Medels kulowetsani positi

Kenako, tipanga positi yosavuta ndi chingwe ndikutuluka chipolopolo. Chingwe chikhoza kukhala chilichonse, kutalika kwake ndi mawu ovomerezeka.

Post.cobjecy.create (mawu = 'Moni dziko lapansi') Potulukira()

Pomaliza, tidzafunika kuwonjezera njira ya url ku chakudya chathu. Chifukwa pulogalamu yathu ya chakudya imagwiritsa ntchito ma urls angapo ndipo tikufuna kusunga mafayilo ang'onoang'ono, tiyeni tipangire ma urls am'deralo.

kuchokera ku Django.rlls njira Kuchokera. Mawonedwe Olowera urlpatters = [ Njira ('', Views.feed, dzina = 'kudyetsa'), ]

Tidzafunikanso kusintha ma urls.py mu gawo la maziko, chilichonse chomwe tidasankha kuyankhula, uwu unali chikwatu choyamba chomwe tidapanga. Edit App / App.Py ndikuwonjezera zotsatirazi ku mawonekedwe a url

kuchokera ku Django.rlls Internatikizani # pamwamba urlpatters = [ # ... code yapita apa njira ('chakudya /' ]

Pamwamba

... nambala yapita pano

Tsopano, tikamayendetsa seva yokhala ndi Python Care.y Wogulitsa, tiwona tsamba lomwe tidapanga chifukwa tili ndi chitsanzo, mawonekedwe a url komanso zinthu zomwe zili mu database. Kenako, tiyeni tikwaniritse mawonekedwe omwe tidapanga ndikuyamba kupanga zolemba zathu. Koma tisanalembe nambala yochuluka, tiyeni tipeze zosunga pogwiritsa ntchito script tinalemba. Thamangani script iyi mu chipolopolo, dikirani mphindi zochepa, ndipo nambala yonse idzabwezeretsedwa ku GIT yosungira.

chosunga

Kukhazikitsa mawonekedwe ndi kosavuta. Tidzalemba fomu yathu, onjezerani positi yofunsira ku mawonekedwe, ndikusunga positi mu database musanabwererenso malingaliro omwewo. Titha kugwiritsa ntchito ntchito yowonjezera yomwe tidalowetsa kale, ndipo ntchito ina yotchedwa Refy kuti ipeze ulalo wa malingaliro. Tidzafunsanso izi ndi zojambulajambula: chakudya 'chifukwa dzinalo la DamesPaces limadyedwa, ndipo malingaliro amatchedwanso chakudya.

Kuchokera ku chakudya. Tchulani chakudya (pempho): zolemba = positi.all () # funsani zolemba zonse mu database mpaka pano Ngati pempho. Fomu = Tumizani (pempho.Post) # pangani mawonekedwe a fomu ndikusunga zomwe zili Ngati fomu.is_valid (): # ikani fomuyi fomu.save () # Sungani chinthu chatsopano bweretsaninso (kusintha ('chakudya: chakudya'))) # reformact ku url yomweyo ndi pempholi Kubwezerani Render (pempho, 'chakudya / chakudya.html', { 'Fomu': Tumizani (), # onetsetsani kuti mukupereka fomuyo motero titha kupereka. 'Zolemba': }

Funsani zolemba zonse mu database mpaka pano

Samalani pambuyo pake

Pangani chitsanzo cha mawonekedwe ndikusunga zomwe zalembedwazo

Konzani fomu

Sungani chinthu chatsopano

Konzani ku URL yomweyo ndi pempho

Onetsetsani kuti mukudutsa fomuyo munthawiyo, titha kupereka.

tag mu html ndikupanga mawonekedwe mu ka template ya HTML ndi batani la Tumizani. Tidzafunikanso chizindikiro cha CSRF, Chizindikiro chomwe chimalepheretsa masamba akunja kuti tisatumize ku fomu popanda kutsegula tsamba.

Chakudya {% csrf_chonso {{mawonekedwe}} Positi yatsopano {% ya positi mu posts%} {it.Text}} {% endfor%}
from django.http import HttpResponse

def hello(request):
    return HttpResponse('hello world')
Tiyeni tidutse izi. Pali gulu latsopano latsopano, chizindikiro, mawonekedwe omwewo, ndi batani logonjera. Zosavuta, koma tikamayang'ana, titha kufuna kuti ziziwoneka bwino. Imagwira ntchito, titha kutumiza zolemba zatsopano ndi mawonekedwe ndipo tsopano apulumutsidwa mu database. Pali zinthu zochepa zomwe zikuchitika pano. Timagwiritsa ntchito ma tag kuti zilembedwe kuti chikalatacho ndi chikalata cha HTML, timagwiritsa ntchito template tag ({% ...%}) Kuti mupereke mawonekedwe. Tilinso ndi chiuno kuti tipereke zolembazo pogwiritsa ntchito ma tag ndi template. Block Tags ndizofunikira kwenikweni chifukwa titha kufotokoza momwe magawo a template amachitikira nawo, ndipo template ma tags ndiye maziko a momwe timagwiritsira ntchito mosiyanasiyana.

Tsopano tiyenera kupanga pulogalamu yathu kukhala yabwinoko, chifukwa pakadali pano zikuwoneka. Titha kuchita izi pogwiritsa ntchito CSS, ngakhale m'matumbo, kapena m'makalasi omangiriridwa ku chinthu chilichonse m'Chikalata. CSS ndiyabwino kwambiri chifukwa imafotokoza zonse patsamba momwe ziyenera kuwonekera, ndipo zitha kuwoneka bwino. Pali malaibulale angapo omwe angachite izi, koma ndimapita ku bootstrap.

Getbootstrap.com/

Pangani chikwatu chatsopano chotchedwa machisi ndi ma tempulo a MKDIR, kenako kusintha ma templates / back.html.

Ziyenera kuwoneka motere:

{% block thupi%} {% endotblock%}

Onetsetsani kuti potsanzira ndi JavaScript, .css ndi .Js Fayilo, chifukwa tidzafunikira JavaScript kuti tsamba lathu lizigwira ntchito mtsogolo.
from feed import views as feed_views
Tsopano tiyeni tibwerere ku Gull Shell ndikuyendetsa mwachangu. Kumbukirani kuti, ngati mungafunike kupeza malo omwe alipo, mtundu wa mtundu wa venv / bin / yambitsa. Izi zikulolani kukhazikitsa mapaketi a Python kwanuko mwanjira yomwe imalola kuti DJAngo amawapeza. Kupereka mafomu athu omwe amapangidwa ndi makalasi a Django BootsTrap, tidzagwiritsa ntchito phukusi la Python lotchedwa mafomu a crispy. Titha kutsitsa izi ndi lamulo lotsatirali

PIP Ikani Django-Crispy-Forms

Izi zikaikidwa, onjezerani ku zoikamo.py
from feed import views as feed_views

urlpatterns = [
    path('', feed_views.hello, name='hello'),
]
Adayika_akhuli = [ # ... code yapita pano 'Khrisimasi_MFFY', ]

... nambala yapita pano

Tsopano, mmbuyo munkhoyathu ya chakudya, titha kuchotsa zinthu zina. Tiyeni tichotse chiyambi ndi kutha kwa chikalatacho ndikusintha ndi cholowa kuchokera ku template yathu, pogwiritsa ntchito mafinya komanso tanthauzo la chipikacho. Komanso, tionjezanso zoseweretsa za template zokhudzana ndi katundu ndi fayilo ya template ndi mawonekedwe. Pomaliza, tiyeni tiwonjezere kalasi ya bootstrap ku batani pa fomu kuti iwoneke ngati batani. Izi zikuwoneka motere:
python manage.py check
{% yoyambira 'base.html'%} {% block thupi%} {% katundu_ormusts_yags%} {% csrf_chonso {{Fomu | CRISPPPY}}} Positi yatsopano {% ya positi mu posts%} {it.Text}} {% endfor%} {% endotblock%}

Zokongola! Ndilo nambala yaying'ono kale. Kenako, tiyenera kuyeza ndikuonetsetsa kuti titha kuwona kuti chilichonse chikuwoneka bwino, komanso onetsetsani kuti chilichonse chikugwira bwino ntchito. Thamangani seva monga malangizo am'mbuyomu ndikuwonetsetsa kuti malowa akuwoneka bwino. Ntchito yabwino! Mwakonzeka kusamukira ku gawo lotsatira, momwe tionjezera magwiridwe antchito omwe amagwiritsa ntchito ma urls, mitundu, malingaliro ndi ma tempulo. Chinsinsi cha maziko ndichofunikira, ndipo tidzapitilizabe kusintha ndikusintha zina pofuna kuti tsamba lathu likhale lotetezeka komanso passporm yanu yomwe ingagwiritsidwe ntchito ndi inu.

Kuti tichite izi, tifunika kugwiritsa ntchito mtundu wogwiritsa ntchito mu Django. Mtundu wa ogwiritsa ntchito ndi mtundu wa database, monga positi yathu, yomwe ingapangidwiredwe kuti isatumize pawebusayiti. M'tsogolomu, tisanaperekere malowa ku intaneti, tidzakulitsa chitsanzo ichi ndi mitundu ina yomwe idadziwika, ndikupanga njira zina zachitetezo cha malo olowa zomwe sizigwirizana. Tidzayamba kugwiritsa ntchito mafomu ena omwe Django amapereka. Choyamba, tiyeni tipangire pulogalamu yatsopano yomwe tidzagwiritse ntchito kuti tipereke ma tempiki ndi malingaliro a tsamba lolowera. Tipanganso mapulogalamu ena kuti aimire zovuta zomwe zatsala kuti muteteze pulogalamuyi, kuphatikizapo kuzindikiridwa kwapakati, kuyankhulana zakunja, kutsimikizika kwa kunja, ndi kutsimikizira zam'magazi.
python manage.py runserver 0.0.0.0:8000
Takambirana kale za kuyambitsa pulogalamu. Kuchokera ku chikwatu chathu, mkati mwa chilengedwe, kudutsa pass.Pakulu

Python Carnal.Pap Tyrers

Tsopano, tiyenera kukhala ndi chikwatu cha pulogalamu yatsopanoyo. Tiyeni tiyambe ndikupanga lingaliro mu chikwatu chimenecho chomwe chikufanana ndi kulembetsa. Django adapanga m'mawonedwe a mapulogalamu osuta, koma awa sakhala oyenera kwa ife chifukwa timafunikira mawonekedwe, omwe amachitika mwachidule ndi tanthauzo.

Mu lingaliro ili, tiyamba poyang'ana positi, pempho la UT.POST ku Logning, ikani akaunti ya ogwiritsa ntchito, ndikulowetsani mu pulogalamu yathu isanabwerere ku pulogalamu yathu ya chakudya.

Ogwiritsa ntchito / malingaliro.py, onjezani nambala yotsatirayi
from django.db import models # Kuchokera ku Django.shotcutts Toit Render, amaperekanso
Kuchokera ku Django.rlls kulower
Kuchokera ku Django.Conter.orf.Forforms Incorm, yitpassworform
Kuchokera ku Django.Contriber.uth kulowetsedwa, Logout
kuchokera ku Django.Contriber.th kulowetsani kulowa ngati auth_login
Kuchokera ku Django.Contrib Extroad mauthenga

Tchulani Lowani (pempho):
    Ngati mukufuna.method == "positi":
        Username = pempho.Post ['Isername'] # pezani dzina lolowera ndi mawu achinsinsi kuchokera ku positi
        Mawu achinsinsi = pempho.Post ['achinsinsi'] # uzani wogwiritsa ntchito
        Wogwiritsa = kutsimikizika (Username = dzina lolowera, dzina loyera)
        Ngati Wogwiritsa:
            Auth_Login (pempho, wogwiritsa ntchito, xandkend = 'Django.Contrib.backed.Kakumapeto
            mauthenga.success (pempho, 'Mawu anu achinsinsi adavomerezedwa. Chonde pitilizani')
            Bweretsani (kusintha ('chakudya: chakudya'))
        china: Mauthenga.arnar (pempho, 'dzina lolowera kapena mawu achinsinsi. Chonde yesaninso')
    Kubwezerani Render (pempho, 'Ogwiritsa Ntchito / Login.html', "Fomu ':)})
class Post(models.Model): # Pezani dzina lolowera ndi mawu achinsinsi kuchokera ku positi
    id = models.AutoField(primary_key=True) # Tsimikizirani wogwiritsa ntchito
    text = models.TextField(default='') # Izi ndi zonse zomwe mukufuna kuti muwone malingaliro olowera. Tsopano tiyeni tipange mawonekedwe a malingaliro powonjezera khama. Tiyamba ndikupanga chikwatu chatsopano cha ma templates mufoda ya ogwiritsa ntchito.
ogwiritsa ntchito / ma templates ogwiritsa ntchito / ma templates / ogwiritsa ntchito

Tsopano, tiyenera kusintha ogwiritsa ntchito / ma templates / ogwiritsa ntchito / Login.html. Tili pa izi, tipanga template kuti alole wosuta asainenso.

Ogwiritsa ntchito a Nano / Ma templates / Ogwiritsa ntchito / Login.html

Tsopano, mu template,

{% yoyambira 'base.html'%} {% katundu_ormusts_yags%} {% yotseka%} {% csrf_chonso Lowani muakaunti {{Fomu | CRISPPPY}}} Lowani muakaunti {% endotblock%}

Awa ndiye maziko a template yolowera. Uli ngati template inayo, koma imawoneka yosiyana pang'ono ikaperekedwa. Titha kutengera nambala iyi kuti ipange template inanso yofananira yotchedwa Regit.html, komwe tisintha mawu ndikugwiritsa ntchito mawonekedwe atsopano omwe timamanga. Tiyeni tipangitse template kaye. Sinthani ogwiritsa / ma templates / ogwiritsa / kulembetsa.html ndikuwonjezera nambala yotsatirayi:

{% yoyambira 'base.html'%} {% katundu_ormusts_yags%} {% yotseka%} {% csrf_chonso Pangani akaunti {{Fomu | CRISPPPY}}} Mndandanda {% endotblock%}

Tsopano, tiyeni tinge mawonekedwe a kulembetsa kwathu ndi kuzungulira ziwonetserozo tisanakweze zojambula zathu ndi mtundu. Tipanga mawonekedwe awa kuti ayambe nayo, koma kuphatikiza zambiri ndi zotetezeka monga mapangano ndi CAPTCHA mtsogolo. Sinthani mafomu omwe ali ndi ogwiritsa ntchito a Nano / Mafomu.py, ndikuwonjezera nambala yotsatirayi.

Kuchokera ku mafomu a Django kuchokera ku Django.Contrib.odels Term Kuchokera ku Django.Conter.orth.Forforms Tower Ogwiritsa Ntchito Ogwiritsa Ntchito (Yogwiritsa Ntchito): Imelo = Forms.emailfice () kalasi meta: Model = Wogwiritsa minda = [') dzina loti', 'imelo', 'mawu achinsinsi1', 'Achinsinsi ...
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',)
Chifukwa chake tili ndi mawonekedwe ena pano, omwe amagwira ntchito mwachilungamo. Ndi fomu yolembetsa ndi dzina lolowera, imelo ndi chinsinsi, komanso chotsimikizira password. Dziwani kuti fomu iyi siyikulitsa ma forms okhazikika.orform Class, ndi mawonekedwe achitsanzo omwe amatanthauza kuti ili ndi meta. Munda umodzi umafotokozedwa chimodzimodzi, ndipo kalasi meta imatanthauzira mtunduwo fomu imafanana ndi zidziwitso zonse zomwe zidzalembedwe. Zambiri mwa izi zili kale mu Django zomangidwa mu ma django opangidwa kale, kuti tigwiritse ntchito ngati maziko a kalasiyo (idadutsa mwa makolo).

Kenako, tikambirana za kulembetsa wogwiritsa ntchito, tsopano kuti tili ndi mawonekedwe ndi template. Ichi ndi zitsanzo, monganso imodzi mwatsopano. Sinthani Ogwiritsa / Mawonedwe.py ndikuwonjezera nambala yotsatirayi:

# ... Kutumiza kuchokera. Defer Register (Pempho): Ngati mukufuna.method == "positi": mawonekedwe = ogwiritsa ntchito (pempho.Post) Ngati fomu.is_valid (): Wogwiritsa = Fomu.Save () Mauthenga.success (pempho, 'Takulandilani ku pulogalamuyi, {}.'.) Kubwezerani Render (pempho, 'Ogwiritsa Ntchito / Kulembetsa.html', {'Fomu': Wogwiritsa Ntchito}))
python manage.py makemigrations
python manage.py migrate
... zotuluka

Izi ndizomwe timafunikira kuti wogwiritsa ntchito alembetsedwe, koma tiyenera kukhala ndi zambiri. Tikufuna kudziwa nthawi yomwe wogwiritsa ntchito adalembetsedwa, nthawi zina anali atakumananso ndi izi, monga zonena za iwo, monganso, tifunika kusinthitsa mtundu wa wogwiritsa ntchito ndi mawu a wogwiritsa ntchito. Kuti tichite izi, tisinthanitsa mitundu.y m'mapulogalamu onse awiri. Tiyeni tiyambire posintha mtundu. Ziyenera kuwoneka motere:

Kuchokera ku Django.db Kutumiza Mitundu # ... Kutumiza kuchokera ku Django.Contrib.odels Term Maphunziro a kalasi (Models.model): ID = Models.akufield (yoyamba_key = zowona) Wolemba = Models.Tigy (wogwiritsa ntchito, pa_Deade = Models.cascade, Oona, Zowona, Zogwirizana - # Onjezani mu mzerewu Zolemba = Models.Tetfield (Zosintha = ''
    posts = Post.objects.all() # ... zotuluka
Onjezerani mzerewu

Samalani ndi mzere wachiwiri womwe udawonjezeredwa pafayilo. Ichi ndi chifungulo chakunja, chomwe chingapangitse positi iliyonse kwa wogwiritsa ntchito pa positi pa positi, kuti tiwonetsetse kuti tisunge zolemba pa ogwiritsa ntchito ndipo palibe positi omwe angagwiritse ntchito. Timalongosola kiyi yachilendo iyi ndi kalasiyo ikuyimira, kufufutidwa kochotsa zolemba ndi ogwiritsa ntchito omwe tidapanga kale, komanso dzina lomwe limagwiritsa ntchito. Dzinali, mosiyana ndi post.urothor, wolemba positiyo, amatipatsa wogwiritsa ntchito yemwe adatumiza Positi yokha. Titha kupeza zolemba zomwe wogwiritsa ntchito wogwiritsa ntchito.Posts.all (), kapena wolemba.posts.all ().

Tsopano tiyeni tizipindika zina. Titha kupangitsa kuti malo athu akhale osatetezeka kwambiri kuti azikhala achisoni chifukwa chongoyerekeza kuchuluka kwa nthawi zomwe tidzaloleza kulowa pamalowo, izi ndizophweka. Tiyeni tiyambenso kusunga zambiri za wogwiritsa ntchito aliyense m'mbuyomu monga momwe tikupitirizira pulogalamu yathu. Kusintha Ogwiritsa / Makhalidwe.Py, onjezani nambala yotsatirayi.

Kuchokera kwa mitundu ya Django.db kuchokera ku Django.Contrib.odels Term Kuchokera ku Django.utils kulowetsani Mbiri Yamakalasi (Models.model): Wogwiritsa = Models.neetonefield (wogwiritsa ntchito, pa_Deade = Models.cascade, Oona, Zowona, Zogwirizana - Zogwirizana = Akaunti_CTUMID = Models.dateimefield (yokhazikika = Timezone.wnow) komaliza_ zotsatsa = mitundu.dateimedfield (yokhazikika = Timezone.wnow) ikhoza_login = molingananso. amakonda_NEME = Models.Charfield (Max_length = 20, osasinthika = '', null = Oona, Oona Bio = Models.Tetfield (wopanda kanthu = wowona, wosinthika = '')

Dziwani kuti mtundu uwu ndi wofanana ndi chithunzi. Tili ndi zowonjezera zowonjezera, nthawi ya nthawi yomwe ingatipangitse kukhazikitsa zolakwika paminda ya tsikulo, ndipo tili ndi gulu lokhala ndi zolemba. Kugwiritsa ntchito nthawi zonse izi kumatithandiza kuteteza malowa ndikumvetsetsa momwe amagwiritsidwira ntchito, ndipo malembawo amatipatsa chidziwitso cha wogwiritsa ntchito aliyense, kapena wolemba, pa webusayiti. Ontonefield iyenera kukhala yosanthulira kochepa, imakhala yofanana ndi lamplinkey koma ndi chimodzi chokha chomwe pambuyo pake. Mwanjira imeneyi, wogwiritsa ntchitoyo amakhala ndi mbiri imodzi, pomwe angakhale ndi nsanamira zambiri.
mkdir feed/templates
mkdir feed/templates/feed
Tsopano, tiyeni tisinthe malingaliro athu ndi kulembetsa ku akaunti ya mbiriyo. Choyamba, Sinthani Ogwiritsa Ntchito / Mawonedwe.py ndikuyang'ana pa Show Show:

# ... Kutumiza kuchokera. Defer Register (Pempho): Ngati mukufuna.method == "positi": mawonekedwe = ogwiritsa ntchito (pempho.Post) Ngati fomu.is_valid (): Wogwiritsa = Fomu.Save () Mbiri.CoBreate (Wogwiritsa = Wogwiritsa) # onetsetsani kuti muwonjezere mzerewu, kuti mupange mbiri ya wogwiritsa ntchito Mauthenga.success (pempho, 'Takulandilani ku pulogalamuyi, {}.'.) Kubwezerani Render (pempho, 'Ogwiritsa Ntchito / Kulembetsa.html', {'Fomu': Wogwiritsa Ntchito}))

... zotuluka
Onetsetsani kuti muwonjezere mzerewu, kuti mupange mbiri kwa wogwiritsa ntchito

Izi zimangopanga mbiri kwa wogwiritsa ntchito, osadzaza chilichonse. Tsopano, tikufuna kuonetsetsa kuti akauntiyo singalowe mu nthawi zambiri, kapena passwords sizingayesedwe pafupipafupi, ndiye tiyeni tisinthe mawonekedwe olowera.

# ... Kutumiza kuchokera ku .Models Service Mbiri Kuchokera ku Django.utils kulowetsani Nthawi Yowonjezera Tsiku Tchulani Lowani (pempho): Ngati mukufuna.method == "positi": Username = pempho.Post ['Username'] Achinsinsi = pempho.Post ['achinsinsi'] Wogwiritsa = kutsimikizika (Username = dzina lolowera, dzina loyera) Ngati wogwiritsa ntchito ndi wogwiritsa ntchito.Pan_login <cutzone.wn: Auth_Login (pempho, wogwiritsa ntchito, xandkend = 'Django.Contrib.backed.Kakumapeto Mauthenga.success (pempho, 'Mawu anu achinsinsi adavomerezedwa. Chonde pitilizani.') Bweretsani (kusintha ('chakudya: chakudya')) ENSE: # Ngati malowe sanali opambana, Mauthenga.warning (pemphani, 'dzina lolowera kapena mawu achinsinsi. Chonde yesaninso.') Wogwiritsa = wogwiritsa ntchito.Filter.filter (Username = Username) .Firner () # Iyi ndi gawo lomwe timasinthira mbiri Ngati Wogwiritsa: Mbiri = Wogwiritsa.profile Mbiri.can_login = Timezone.wnow () + Tsiku () Mbiri.Sive () Kubwezerani Render (pempho, 'Ogwiritsa Ntchito / Login.html', "Fomu ':)})
python manage.py shell
... zotuluka

Dziwani kuti tsopano tikuwona ngati wogwiritsa ntchito akhoza kulowa

Ngati malowe sanali opambana,
from feed.models import Post
Ili ndiye gawo lomwe timasinthiratu

Kotero sangathe kulowanso kwa masekondi angapo

Ichi ndiye chitetezo chofunikira kwambiri. Onetsetsani kuti tsambalo silikhala pachiwopsezo kwa munthu amene amangoyesa kuphatikiza kwachinsinsi, kapena ngakhale ochepa a iwo nthawi yomweyo. Izi sizikhala zokhumudwitsa kwa wogwiritsa ntchito yemwe amadziwa passcode yawo ndikungolowa pa zida zochepa, koma zimasunga maloboti angapo otuluka mu pulogalamuyi. Dziwani kuti tidawonjezera mawu omwe ali ndi chosinthika, akhoza_atha_woginenti, ndiye nthawi m'mbuyomu, ndikusintha ndi lolowa chilichonse pogwiritsa ntchito dzina lomwelo. Mwanjira imeneyi, wogwiritsa ntchito woipa sangathe kulosera mawu achinsinsi kwina kulikonse mwachangu. Chiwerengero cha masekondi mu tsiku la tsiku.Timelta () amathanso kusinthidwanso, ndipo tsamba la webusayiti lidzakhala lokhazikika koma pang'ono lotetezeka pang'ono. Ndikupangira 15 kuyamba ndi.
Post.objects.create(text='hello world')
exit()
Kumbukirani, tinapanga zolemba zosunga zobwezera kuti tisunge ntchito yathu, ndiye tiyeni tipitirizebe ndikukumbukira zomwe tili nazo kutali kuti tikwaniritse zonse zapulumutsidwa. Thamangani Lamulo:

SuDo Sungani

Apanso, izi zisunga ntchito yanu mpaka pano. Ndikupangira kuthamanga pafupipafupi kuti musunge ntchito yanu, ndipo mungafune kuyendetsa ntchito yosunga ndalama zokha. Mutha kuchita izi pogwiritsa ntchito uniboutility wotchedwa Cron. Kuti muthe kuyambitsa izi, gwiritsani ntchito lamulo lotsatirali ndikulowetsa mawu achinsinsi:
from django.urls import path
from . import views

urlpatterns = [
    path('', views.feed, name='feed'),
]
Sudo Crontab -e

Ngati simunasankhe kale 1 kwa nano, mkonzi walemba kale womwe mukuyenera kukhala nawo kale, ndikupukutira pansi pa fayilo pogwiritsa ntchito makiyi. Onjezani mzere wotsatira:

0 * * * * SuDo Sungani
from django.urls import include # Cron amagwiritsa ntchito mtundu, ola, tsiku, tsiku la mwezi, mwezi, tsiku la sabata, pomwe A * kapena angapo amaimira nthawi yoyendetsa lamulo. Kugwiritsa ntchito 0 kwa mphindi ndi * kwa zosankha zina, titha kuyendetsa lamulo kwa mphindi imodzi ya ola lililonse kumayambiriro kwa mphindi. Izi zimatipatsanso nambala yokha. Ntchito zonse za cron zikaphedwa ndi sudo zimathamanga ngati mizu, kotero sitifunikira kulemba mawu achinsinsi ola lililonse.
    # Kuti zikhale zosavuta kubwezeretsa nambala yathu popanda kugwiritsa ntchito mawu achinsinsi, tiyeni tiletse mawu achinsinsi a lamulo lathu losunga ndalama. Tichita izi popereka lamulo lotsatirali ndikulowetsa mawu achinsinsi:
sudo pusudo

Tsopano tiyeni tisunge pansi pa fayilo ndikuwonjezera mzere wina:

Zonse = NAPASWD: / Bin / Sungani
backup
Izi zimatidziwitsa kuti tithawe lamulo la "Sungani" monga wogwiritsa ntchito, wopanda mawu achinsinsi. Mtundu wa izi ndi zosavuta, prefix mzere ndi "zonse = noposswd: / Bin /"

Tsopano, tiyeni tiyambe kugwira ntchito ndi imelo. Imelo ndiyofunika kwambiri kwa mawebusayiti, chifukwa ndi njira yosungira tsamba lawebusayiti, onetsetsani kuti ogwiritsa ntchito ndi anthu enieni, komanso mitundu kapena ntchito kwa makasitomala. Anthu ambiri omwe amachita intaneti amayang'ana imelo yawo tsiku lililonse, ndipo amalandila imelo yotsatsa pazinthu ndi ntchito zomwe amakondera. Pali njira zingapo zomwe zimathandizira.

Choyamba, mutha kulipira ntchito ya imelo yomwe ingakuthandizeni kutumiza imelo kuchokera kudera lanu ndipo imafunikira nambala yochepa. Pali mautumiki ambiri omwe amapereka izi, monga Google Colosespace, Tuminblue, mailgun, ndi zina zambiri.
    posts = Post.objects.all() # Kupanda kutero, mwayamba kumanga imelo yanu mkati mwa seva yanu kuyambira. Ndikupangira izi, ngakhale ndi code yochulukirapo ndipo imafunikira kuti azitsogolera. Simudzatha kuyambitsa seva yanu yochokera ku Computer yanu kwambiri, choncho tiyeni tiyang'anire kusinthidwa ndi kachidindo kuti mutumize imelo m'tambo ndikupanga seva yathu yokha.
    if request.method == 'POST': # Choyamba, Sinthani makonda.py ndi lamulo lotsatira:
        form = PostForm(request.POST) # Nano App / Zokhazikika.py
        if form.is_valid(): # Komwe pulogalamu ndi dzina la pulogalamu yomwe mudapanga ndi Itapp.
            form.save() # Onjezani mizere iyi:
        return redirect(reverse('feed:feed')) # Tsamba_Meme = 'Django pulogalamu'

Imelo_Dackend = 'Django.core.iil.backend.Smtp.emailbacn'
Imelo_host = '
Imelo_Rer = 587
Imelo_sess_tls = Zowona
Imelo_address = Username@server.com '
Imelo_host_user = 'Username'
Imelo_Host_Password = Chigawo ['Imelo_Host_phatword']
Kusasinthika_From_Email = '{{} <{}>'. Fomu (tsamba)
        'form': PostForm(), # Onetsetsani kuti mwasintha izi mukakonzeka kutumiza pulogalamu yanu, tidzabwezeretsanso izi pambuyo pake. Imelo_adduss Kukhazikitsa kuyenera kukhala imelo yomwe mukufuna kutumiza kuchokera ku, ndi mawu achinsinsi (imelo_huptord) iyenera kukhazikitsidwa password yomwe mumapanga seva. Ndikuluma password kuchokera ku fayilo ya CARD kuti isatulutse mu code pogwiritsa ntchito mfundo zotsatirazi, pamwamba pa mizere iyi m'makonzedwe .y:
ikani os kulowetsa json ndi lotseguka ('/ etc / conc.json') ngati ma cent_file: Khola = JSON.SOS (Kondola_File)

Kenako, ndakhazikitsa fayilo ya JSSSON ndi mawonekedwe a /tc/config.json pogwiritsa ntchito nano motere.

Kusintha fayilo:

sudo nano /nc/config.json
Onjezani mizere iyi:

{ "Imelo_host_werango": "" }

Tipitiliza kusintha fayilo yokhazikika ndikuwonjezera mapasiwedi onse ndi makiyi omwe tidzagwiritsa ntchito mu pulogalamuyi. Pakadali pano, tiyeni tiwone mwachangu momwe mungatumizire imelo pogwiritsa ntchito Python. Choyamba, tiyeni tipange template kuti titumizire imelo yathu yomwe titha kutumiza kwa ogwiritsa ntchito, ndikuyiyika mu templates ya wogwiritsa ntchito. A templateyo adzalembedwa mu HTML.

Ogwiritsa ntchito a Nano / Ma templates / Ogwiritsa / Chitsimikiziro_Email.html

App ya Django - Tsimikizirani imelo yanu Wokondedwa {{ogwiritsa ntchito.usernome}, Kuti mutsimikizire imelo yanu, chonde dinani apa. Kapenanso, mutha kuyika ulalo wotsatira mu bar ya asakatuli: {{base_url}} {% ma url 'ogwiritsa ntchito: idb64 = nthititu = chizindikiro) Ulalo utha mu mphindi 30. Ngati simunapemphe imelo yotsimikizira yomwe mungangonyalanyaza imelo iyi. Tikuwonani kumeneko, Daisy

Imelo iyi ndi yosavuta. Zimatengera mtundu wa wogwiritsa ntchito, ulalo wapansi pamalopo, ndi id yogwiritsa ntchito ndi chizindikiro chomwe chimagwiritsidwa ntchito kutsimikizira imelo ya wogwiritsa ntchito. Onetsetsani kuti mwatanthauzira ulalo wa maziko.py tisanalembe nambala ina Python kuti tipereke template. Pitani patsogolo ndikuwonjezera mizere iyi ku App / Zikhazikiko.py, pafupi ndi chiyambi.Tsamba_Meme = 'Django pulogalamu' Protocol = 'HTTPS' Domain = 'Chitsanzo.com' Dera_url = protocol + ': //' + domainPambuyo pake, tsamba lanu litakonzekera intaneti ndipo mukuikira, mudzafuna kutanthauzira gawo lanu ngati dzina lomwe mumagula kuti muimire malowa. Ili ndiye dzina kuti mudzalemba mu Navbar kuti mupeze tsamba lanu. Pakadali pano, mutha kusiya danga lopanda kapena kugwiritsa ntchito wowonekera. Mudzafunanso kusintha tsambalo_MENE MU DZINA MUKUFUNA KUTI MUPETSE TAKE, mwa kusankha kwanu.

Tisanatumize imelo, tiyeni tipangire jenereta ya chizindikiritso kuti titha kukhala ndi chizindikiro cha akaunti yomwe siyitha. Titha kuchita izi pomanga ndikulowetsa chizindikiro cha akaunti yomwe imawoneka ngati zotsatirazi. Sinthani fayilo:

Ogwiritsa ntchito a Nano / Tokens.Py

Onjezani nambala yotsatirayi:

kuchokera ku Django.Contriber.Teket.tokens kuloweza passvidemangeningeni itanitsa zisanu ndi chimodzi Class Tokeneeletor (Chinsinsi Chachinsinsi): Def _Make_hash_valu (wekha, wogwiritsa ntchito, Timestamp): kubwerera ( zisanu ndi chimodzi.Text_tpe (wogwiritsa ntchito.pk) + 6.Text_ty (Timestamp) ) Akaunti_Cockivation_tkeken = Tokengelinetor () osagwirizana_kken = tokengenerat ()

Inchire yoyambirira ya chikwangwani imatulutsa chizindikiro titha kutumiza wosuta mu URL ndipo wosuta angagwiritse ntchito kutsimikizira imelo yawo ndikuyambitsa akaunti yawo.
Kenako, tiwone momwe mungatumizire imelo. Kugwiritsa ntchito nano, kusintha kwa ogwiritsa ntchito / imelo.y.

Ogwiritsa ntchito a Nano / Imelo.py

Kutumiza imelo yotsimikizira HTML iwoneka motere:

Kuchokera ku Django.Contriber.uth kulowetsanso Kuchokera ku Django.http Kuyitanitsa Urlsafe_BASE64_ENCODE, Urlsafe_Bsase64_Deade kuchokera ku Django.Conter.sites.Shitestictions amayambitsa k_ cherdent_site Kuchokera ku Django.core.il Kutumiza Kutumiza_mail kuchokera ku Django.template.loader Toint Render_tu_String Kuchokera ku Django.ents.entcoding ikani mphamvu_komwe Kuchokera ku Django.core.Mail Kulowetsa maimelo a Partmins Kuchokera ku Django.shotcutts Toint Pendende kuchokera .tokens kuloweza akaunti_Coctation_cho kuchokera ku Django.template.loader Toint Render_tu_String Kuchokera ku Django.html.html Totrip_tags kuchokera ku Django.template kulowetsedwa template, nkhani Kuchokera ku DJango.conf Innings Kulowetsa Traceback Deposizani kutumiza_kugwiritsa ntchito (ogwiritsa): Wogwiritsa = Pezani_User_model () Imelo_SUBMY = '[{}] Yambitsani akaunti yanu.'. html_message = render_tu_ ogwiritsa ntchito ('Ogwiritsa Ntchito / Chitsimikizo_Email.html', { 'Wogwiritsa': Wogwiritsa, 'Domain': Zikhazikiko.domiain, 'Protocol': 'HTTPS', 'UID': Uid ': Urlsafe_Base64_encode (mphamvu_byc (wogwiritsa ntchito.Pk)), 'Chizindikiro': Akaunti_Coctivation_muken.Make_Kodi (Wosuta), } Tumizani_html_email (Wogwiritsa, Mail_Subject, HTML_Message)

Izi ndizosavuta. Timatumiza ntchito zomwe timafunikira kutumiza imelo, ndikupereka imelo ndi ma temlalations, ndipo makonda athu, kenako timatanthauzira imelo ndi dzina la wosuta ndikuyitumiza kwa wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta pogwiritsa ntchito wosuta Mungazindikire kuti sitinatumize ntchito kuti titumizire makalata, Tumizani_html_emy, kotero tiyeni tilembetse izi pansipa zomwe tawonjezerapo ogwiritsa /
pip install django-crispy-forms
Deposit Tumizani_html_email (Wogwiritsa, makalata_atumizidwe, HTML_Message): to_imail = ogwiritsa ntchito.Email Username = Wogwiritsa Ntchito.username Ngati_alimail == '" bweretsani palibe gwiritsani_link = makonda.Base_url + ogwiritsa ntchito.profile.preate_unsubsribribme_inki () html_message = html_message + "osalembetsa" msg = maimelo_amaimelo - stript_tags (html_arssage), mitu. Msg.attach_ltalt (html_Message, "lembani / HTML") Mbiri = Wogwiritsa.profile Yesani: msg.send (Kulephera_abodza) Ngati sichoncho mbiri.imail_vadid: Mbiri.email_ValVal = yoona Mbiri.Sive () Kupatula: Mbiri.imail_val = FALSE Mbiri.Sive ()

Izi ndi zovuta kwambiri, ndipo sitinakonzekere kukonzanso nambala yonseyi. Zindikirani kuti tikutanthauzira - ulalo womwe wosuta angagwiritse ntchito kulembetsa m'maimelo athu. Izi ndizofunikira, chifukwa ogwiritsa ntchito adzafunika kusankha m'maimelo athu pokhapokha akufuna kuwaona, nthawi iliyonse. Tikuwonjezeranso njira ina yotumizira uthenga wathu, yomwe ndi uthenga wa HTML. Pomaliza, timayang'ana ngati imelo yotumizidwa, ndipo ngati sichoncho, timalemba mbiri ya wogwiritsa ntchito kuti imelo yawo siyovomerezeka.

Tiyeni tibwerere ku mitundu ya ogwiritsa kuti titha kupanga zonse izi. Tiyenera kutanthauzira ntchito kuti tilembe ulalo kuti ulembetse, ndikutanthauzira gawo la Boolean ku Maliko kuti imelo ya wogwiritsa ntchito siyothandiza.
    # Choyamba, onjezani izi kwa ogwiritsa ntchito / ogwiritsa ntchito.py
ogwiritsa ntchito a Nano / Models.py

# ... Kuchokera ku Django.core.sineing extreamsy, stockssanalowezi, siginecha Kuchokera ku Django.rlls kulower

...
Chotsatira, tiyeni tiwonjezere ntchito kwa wogwiritsa ntchito kuti apange Chizindikiro ndikuyang'ana chizindikiro chomwe chimagwiritsidwa ntchito kuyambitsa imelo, komanso gawo loti wosuta alandire makalata awo. Ogwiritsa ntchito / zitsanzo.py kachiwiri, onjezerani nambala yotsatirayi kumapeto kwa mtundu (nambala yomwe ili)

# ... Imelo_valdid = Models.booleanfield (yotsimikizika = yoona) Tchulani kuti_kudzitchinjiriza (nokha): Kubwezera Timerstampiner (). Chizindikiro (kudziyimira.user.username) Deco Det_choyera (nokha, Chizindikiro): Yesani: kiyi = '% s:% s'% (kudzikonda.user.username, chizindikiro) Nthawi yayitali (). Zosavomerezeka (kiyi - max_Age = 60 * 60 * 24) # zovomerezeka kwa masiku 30 Kupatula (Zosanja, Zizindikiro): bweretsani zabodza Bweretsani Zoona Defess Pangani_kutsuka_inu dzina lolowera, Chizindikiro = kudzidalira.Make_kwa (). kugawanitsa (":") kubwereranso ('ogwiritsa ntchito: Ogwiritsa ntchito ", nkurgs = {' Dzinalo," chizindikiro ')

...

Zovomerezeka kwa masiku 30

Izi ndi zophweka, timagwiritsa ntchito nthawi yayitali, yomwe ndi chida chofunikira, kuti tipangitse chizindikiro chomwe chingathetsere ndalama pambuyo pake, ndipo timagwiritsanso ntchito linanso kuti lifufuze ngati zikugwira ntchito. Timagwiritsa ntchito ma tokeni awa kawiri, kamodzi kuti titsimikizire imelo, ndipo kamodzi pa ulalo wosagwirizana.

Tsopano popeza tili ndi izi, komaliza pantchito yomwe tidzafunika kuchita zili m'malingaliro. Pakati pa ogwiritsa ntchito / malingaliro.py, tiyeni tiwonjezere malingaliro kuti mutsimikizire imelo adilesi, komanso osalemba.

Ogwiritsa ntchito a Nano / Mawonedwe.py
python manage.py startapp users
Choyamba, onjezani zotsatirazi. Ndinaponya zowonjezera zochepa kotero sitiyeneranso kutumizanso zinthu zambiri pambuyo pake.

Kuchokera ku Django.Contriber.uth kulowetsani Logout Kuchokera ku Django.shotcutts Toint Pendender, amaperekanso, pezani_obsess_404 kuchokera ku Django.Contrib.odels Term kuchokera ku Django.ents.entcoding ikani mphamvu_str Kuchokera ku Django.http Kuyitanitsa Urlsafe_BASE64_ENCODE, Urlsafe_Bsase64_Deade kulowetsa json zopempha zopempha Nthawi Yobwereketsa, Traceback Kuchokera ku Django.Contrib Extroad mauthenga kuchokera ku .Models Service Mbiri Kuchokera ku Django.utils kulowetsani kuchokera ku Django.Views.decoratiors.cache Tos Sat_cache kuchokera ku .uchmail Kutumiza_kuwongolera_kupangani kuti mulembetse imelo yotsimikizira Kuchokera ku Django.Contriber.Dout.deoctoors Tower Login - Kuchokera ku Django.Contriber.muxins kuloweza kulowa kulowa, wogwiritsa ntchito mankhwala Kuchokera ku Django.Tils.decoratior Istionate Njira_Dorator Kuchokera ku Django.http Tongani httprepreentrectirect Kuchokera ku DJango.conf Innings Kuchokera ku Django.utils kulowetsani Nthawi Yowonjezera Tsiku ikani pytz kuchokera ku Django.Views.Dooctiors.csrf Tout Csrf_Exempy Kuchokera ku Django.http Tongani Httpresptaty kuchokera ku Django.Contriber.Teket.tokens kuloweza_ku_Geretor Kuchokera ku Django.http Togn Arlsafe_base64_Ddecode kuchokera .tokens kuloweza akaunti_Coctation_cho

Onetsetsani kuti mwatumiza imelo yotsimikizira ntchito

Mutha kukhala kale ndi zina mwazomwezi, koma sizipweteka kubwereza. Mukuyenera kulowetsa imelo yotsimikizika, komanso akaunti_Cackitation_k_chonso ku Ogwiritsa ntchito.tokens, pakati pazosankha zina.

Tsopano, pansi pa fayilo, onjezani nambala yotsatirayi:

Defer Defecgiribge (pempho, dzina la Userna, Chizindikiro): Wogwiritsa = Tengani_ kapena_404 (Wogwiritsa, Username = Username) Ngati ((pempho.is_is_ ofunsira.ser == wogwiritsa ntchito) kapena wogwiritsa ntchito.Profile. # kulembera iwo Mbiri = Wogwiritsa.profile Mbiri.Siblibribrib Mbiri.Sive () Kubwezerani Render (pempho, 'ogwiritsa ntchito / osalembetsa.html') # Ayinso kuwongolera tsamba lolowera Mauthenga.warning (pemphani, F'Your Unibsiricge Ulalo watha. Chonde lowani kuti mulembetse. ') lotsatira_urft = Zosintha ('Ogwiritsa Ntchito: Kulemba " Bweretsani httpresplectredirectirect ('% s? Fotokozerani (pempho, Uidb64, Chizindikiro): Yesani: UID = Force_str (Urlsafe_Base64_DDCODE (Uidb64)) Wogwiritsa = wogwiritsa ntchito.obnsicy.get (PK = UID) Kupatula (Typeerror, Chemirror, Moreflorror, Wogwiritsa Ntchito.doesnotexist): Wogwiritsa = Palibe IP = Pezani_Mint_P (pempho) Ngati wosuta siayi ndipo akaunti_Chockication_chonso.check_chonso (wosuta, chizindikiro): Wogwiritsa.profile.email_ odziwika = owona Wogwiritsa.profile.Side () wogwiritsa ntchito.save () # Idyani Mauthenga.success (pempho, FITANKS Kuti mutsimikizire imelo yanu! Mutha kulowa muakaunti yanu, ndi imelo yolandiridwa yatumizidwa kwa inu. ') Bweretsani (wogwiritsa ntchito.profiile.create_fanga ()) Chiwiri: Mauthenga.success (pempho, F'Your Worliction Log watha. Chonde funsani ulalo watsopano. ') Bweretsani ('Tsimikizani: Tsimikizani') Defern Reft_Coctation (pempho): Ngati mukufuna.method == 'positi': mawonekedwe = resendectoations (pempho.Post) Imelo = pempho.Post ['Imelo'] Yesani: Wogwiritsa = wogwiritsa ntchito.obnsicy.get (imelo = imelo) Tumizani_kuwongolera_kugwiritsa (Wogwiritsa) Mauthenga.success (pempho, 'Imelo Yanu Yotsimikizika Yotumizidwa. Chonde dinani ulalo mu imelo yanu kuti mutsimikizire akaunti yanu.') bweretsaninso (kusintha ('): Tsimikizani') Kupatula: Mauthenga.warning (pempho, imelo siyolondola. Chonde yesaninso. ') Chiwiri: Fomu = Resendactivationemail () Kubwezerani Render (pemphani, 'ogwiritsa ntchito / kubwezeretsa_activation.html', ") Fomu":

Alembetse
        username = request.POST['username'] # Kupanda kupozerani tsamba lolowera
        password = request.POST['password'] # Imelo (pempho, ogwiritsa)
Izi ndi nambala yambiri. Tithyole. Ntchito yoyamba, yoyera komanso yosavuta, yosasinthika wosuta kuchokera pamndandanda wa makalata. Ntchito yachiwiri imayendetsa imelo yawo, ndipo mudzazindikira ndidawonjezera ntchito, itandasungeniilo. Mwalandilidwa kugwiritsa ntchito template ya imelo ndi tanthauzo la ntchito kutumiza imelo yolandiridwa, sindinangokhalapo. Ntchito yomaliza yomwe ndidaponya ndiyofunikira, chifukwa maimelo oyambitsa amatha. Chifukwa chake, tidzafunikiranso kubwezeretsa imelo nthawi zina. Titha kugwiritsa ntchito fomu yoyambira pa izi, ndikuyimbira ntchito kuti itumize imelo yotsimikizira. Tisanachite izi, tiyeni tiwonetsetse kuti zikutumizidwa pamalo oyamba, powonjezera ntchito ku Regide to Region. Onjezani mzerewu usanayambe kuwongolera malingaliro a Registern, dev Registern, mu ogwiritsa ntchito / malingaliro.py.

Ogwiritsa ntchito a Nano / Mawonedwe.py

# ... (pambuyo) def rege (pempho): Tumizani_kuwongolera_kugwiritsa (Wogwiritsa) # ... (isanakwane) imaperekanso (
mkdir users/templates
mkdir users/templates/users
... (pambuyo) def reges (pempho):

... (kale) amaperekanso (

Simuyenera kuwonjezera mizere yoyamba ndi yomaliza mu code ija, ingotsimikizirani kuti muwone imelo yotsimikizira imatumiza imelo. Ziyenera kuwoneka motere:
nano users/templates/users/login.html
# ... Kutumiza kuchokera. Defer Register (Pempho): Ngati mukufuna.method == "positi": mawonekedwe = ogwiritsa ntchito (pempho.Post) Ngati fomu.is_valid (): Wogwiritsa = Fomu.Save () Tumizani_kuwongolera_semail (Wogwiritsa) # onetsetsani kuti muwonjezere mzerewu! Mauthenga.success (pempho, 'Takulandilani ku pulogalamuyi, {}.'.) Kubwezerani Render (pempho, 'Ogwiritsa Ntchito / Kulembetsa.html', {'Fomu': Wogwiritsa Ntchito}))

... zotuluka

Onetsetsani kuti muwonjezere mzerewu!
Tsopano, tifunikira kuwonjezera fomu kuti isinthe imelo. Ogwiritsa / mafomu.py, onjezani fomu iyi:

# ... (zotulukapo) Kalasi Yogulitsa Kalasi (Fomu): Imelo = Forms.Emailfice (yofunika = yoona)

... (zotulukapo)
Tidzafunanso templala yolingana ndi mawonekedwe a imelo. Tiyeni tiwonjezere template iyi. Sinthani fayilo:

ogwiritsa ntchito a Nano / Ma templates / Ogwiritsa / Resend_ctivation.html

Kenako, onjezani nambala yotsatirayi.
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']
{% yoyambira 'base.html'%} {% yotseka%} {% katundu_ormusts_yags%} {% csrf_chonso Kubwezeretsa imelo {{Fomu | CRISPPPY}}} Kubwezeretsa imelo {% endotblock%}

Whew, ndizo zochuluka! Tsopano, tikatumiza code ku seva yathu, tidzatha kutumiza imelo ya HTML ndikuyambitsa maakaunti ogwiritsa ntchito ndi imelo. Tingafunenso kutumiza imelo yovomerezeka, kotero tiwone momwe mungachitire izi. Kubwerera mu Ogwiritsa / Imelo.Py, onjezani nambala yotsatirayi:

Defer Refwelyemail (Wogwiritsa): Wogwiritsa = Pezani_User_model () HTML = Tsegulani ('{{{} / ogwiritsa ntchito / olandilidwa_alimail'or'or'at (makonda)). Werengani () mutu = 'Takulandilani' makonda'.site_name '', { template = template (html) Subjtemplate = template (mutu) Mutu = Malingaliro ({'dzina la Username': Wogwiritsa ntchito.username, " reakedtemplate = template.Render (lembani) subjcoxt = mutu ({'dzina la Username': Wogwiritsa.username}) subjrendadtemplate = subjtemplate.render (subjkoxt) Tumizani_html_email (wogwiritsa ntchito, Subjremidtemplate, Rekhardommete)

Komanso, tidzafunikira template kuti tikwaniritse zonsezi. Pa webusayiti yanga, template imawoneka pansipa, koma ndinu olandilidwa kuti musinthe.

Takulandirani ku {{tsamba_NEM} Moni {{Chilolezo], Ndife okondwa kukuonani kuno! Zikomo pojowinanso {{tsamba_NE_MENE} ndikukhala gawo la zosangalatsa. Kuti muyambe, izi ndi zinthu zochepa zomwe mungachite mukatsimikizira kuti ndinu ndani. Gwiritsani ntchito pulogalamuyi. Ili ndiye tsamba lalikulu la {{tsamba_NEM} Pitani payekha {{tsamba}}: Mbiri. Ili ndi tsamba kwa aliyense amene akufuna kundidziwa. Mbiri zambiri. Mutha kupeza anthu awa pamalopo, ndikuwona zomwe zili zawo. Onani zolemba zonse apa. Iyi ndiye tsamba loyambira kutsogolo kwa {{tsamba_NAMAN}}. Palinso zochulukirapo pamalopo, motero khalani omasuka kuchezera ndi kuwona zomwe mukupeza. Mutha kugawana tsambalo ndi mabatani aliwonse omwe ali patsamba lililonse. Ndikukhulupirira kuti musangalala nthawi yanu ndi {{tsamba}}! Zikomo chifukwa chokhala pano. Ndi chikondi chachikulu, {chezani_NEX}} {{base_url}
# Dziwani kuti sitikhala ndi ma tag otsetsereka kapena html, chifukwa timawonjezera izi tikamawonjezera ulalo wa HTML. Izi ndizofunikira, koma sitikufuna kuzimasulira kawiri.
Ndiye wotsatira ndi uti? Tapita kutali. Zowonadi, tiyenera kukhala okonzeka kuperekera malowa ku seva. Titha kuwonjezera zokongoletsedwa ndi @login_kupangitsa malingaliro athu kukhala otetezeka, osakanikirana, tumizani imelo yogwirizana, ndi chidziwitso cha COBS, chomwe ndi maziko a tsamba la webusayiti ayenera kuchita zothandiza. Tidzawonjezera magawo ena othandiza, kenako pangani maziko potumiza nambala yathu ku seva yakutali, kukhazikitsa makina a makalata, makonzedwe a Domain, ndi zophweka kuti malo athu akhale otetezeka komanso oyenera.

Tidzafunikiranso mawonekedwe achinsinsi, kotero tiyeni tiwonjezere mwachangu. Makina opangidwa ndi Django omwe amapezeka password amawonongeka nthawi ina, koma tiwona momwe tingalemberere malingaliro athu, imelo, ndi ma url. Izi ndi zomwe malingaliro akuwoneka ngati, ogwiritsa ntchito / malingaliro.py

# ... Kutumiza kuchokera ku Django.Contriber.Teket.tokens kuloweza_ku_Geretor Kuchokera ku Django.Conter.orth.Forfs To Tott Setlowborm Kuchokera ku Django.http Togn Arlsafe_base64_Ddecode Deform_reset (pempho, Uidb64, Chizindikiro): Wogwiritsa = Pezani_OB_404 (Wogwiritsa, ID = URLAFE_BASE64_DDB64) Ngati mukufuna.method == 'positi': Fomu = REPUSPECOMFOMOMOMVATOMOY (wogwiritsa ntchito, pempho.Post) Ngati fomu.is_valid () ndi kusasinthika_genetorat.check_chonso (wosuta, chizindikiro): fomu.save () Mauthenga.success (pempho, 'Mawu anu achinsinsi akonzedwanso.') elif osati mawonekedwe.is_vavad (): Mauthenga.warning (pempho, 'Mapasiwedi anu sagwirizana, kapena osakwaniritsa zofunikira. Chonde yesaninso.') Bweretsani (pempho.path) Chiwiri: Mauthenga.warning (pempho, 'ulalo wanu wobwezeretsa dzina lanu latha. Chonde pangani watsopano.') Bweretsani (zosintha ('Ogwiritsa ntchito: Login') Kubwezerani Render (pemphani, 'ogwiritsa ntchito / achinsinsi_Konitf.html', { 'Mutu': 'Bwezerani Chinsinsi Chanu', 'Fomu': PeriadProby (Wogwiritsa)
from django.db import models # ... zotuluka
    author = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True, related_name='posts') # Fomuyi imamangidwa ku Django, koma tifunikira template kuti zitsimikizire kuti kubwezeretsanso kwachinsinsi, ogwiritsa / ma templates / ogwiritsa ntchito - achinsinsi -
{% yoyambira 'base.html'%} {% katundu_ormusts_yags%} {% yotseka%} {% csrf_chonso Bweretsani achinsinsi {{Fomu | CRISPPPY}}} Bweretsani achinsinsi {% endotblock%%}

Tilinso ndi template kuti titumizire imelo yokonzanso mawu achinsinsi, ndi mawonekedwe osavuta, ogwiritsa ntchito / ma templates / ogwiritsa ntchito / ogwiritsa ntchito ...html

{% yoyambira 'base.html'%} {% katundu_ormusts_yags%} {% yotseka%} {% csrf_chonso Bweretsani achinsinsi {{Fomu | CRISPPPY}}} Funsani Kubwezeretsa Chinsinsi {% endotblock%%}

Chinsinsi cha imelo ndi chosavuta, ndi fayilo yoyambira ya HTML yokonzanso mawu achinsinsi, ogwiritsa ntchito / ma templates / ogwiritsa ntchito - DJAngo imangotanthauzira fayilo iyi.

Uglek - bweretsani mawu achinsinsi Moni, Kukonzanso mawu achinsinsi, chonde dinani apa. Kapenanso, mutha kuyika ulalo wotsatirawu mu msakatuli wanu: https://uickb.com {% url-@reset_Conf biird 'uidb64 = Chizindikiro = Chizindikiro%} Ngati simunapemphe kubwezeretsanso mawu achinsinsi omwe mungangonyalanyaza imelo. Zikomo potiphatikiza, Daisy
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='')
Tiyeneranso ma tempulo ena awiri. Choyamba ndikutsimikizira kuti imelo yatumizidwa. Mawonedwe a awa ali kale mu Django, kotero tikungofunika kuziyankha mu URLS.PPY. Chinsinsi ichi chili pa ogwiritsa ntchito / ma templates / ogwiritsa ntchito / achinsinsi_Dese.html

{% yoyambira 'base.html'%} {% yotseka%} Imelo yatumizidwa ndi malangizo kuti mubwezeretse mawu achinsinsi. {% endotblock%%}

Ndipo komaliza, kutsimikizira kuti kubwezeretsa kwapachinsinsi kuli kokwanira, ogwiritsa / ma templates / ogwiritsa ntchito / ogwiritsa ntchito - achinsinsi -

{% yoyambira 'base.html'%} {% yotseka%} Mawu anu achinsinsi akhazikitsidwa. Lowani muno {% endotblock%%}

Tsopano, tikufuna mapangidwe a url chifukwa cha malingaliro awa. Ogwiritsa ntchito / urls.py, onjezani njira zotsatirazi:
# urlpatters = [
    # ... ma urls am'mbuyomu apa
    Njira ('Chinsinsi-chokonzanso /',
         Auth_Vents. Passwotfietviewetviewviewviewviewviewviewviewviewviewviewviewview
             template_Nename = 'ogwiritsa ntchito / achinsinsi - achinsinsi.html',
             html_email_Template_MEN = 'Ogwiritsa ntchito / achinsinsi_html_esel.html'
         )
         Dzina = 'mawu achinsinsi -),
    Njira ('Chinsinsi-Chomwe / Chachitika /',
         Auth_Vows.sapatiowdetronedd
             template_Nename = 'ogwiritsa ntchito / achinsinsi_Dese.html'
         )
         Dzina = 'mawu achinsinsi_Deset_Dne'),
    Njira ('Chinsinsi-Chobwezeretsa ///',
         Auth_Vows.PassTettoctfirvied.as_Vivionda (
             template_Nename = 'ogwiritsa ntchito / achinsinsi_Rember.html'
         )
         Dzina = 'mawu achinsinsi_reset_Tomber'),
    njira ('Real-Reft-Alt /',
         Auth_Ventys. Passwottomplexplextriviewevieweview.as_Vofana (
             template_Nename = 'ogwiritsa ntchito / achinsinsi_Gatte.html'
         )
         Dzina = 'mawu achinsinsi_Gatsete'),
]
            Profile.objects.create(user=user) # ... ma urls asitikali pano
Ma temlalai anayi, ndiye zambiri! Koma tsopano titha kukhala otsimikiza kuti mubwezeretsenso mawu achinsinsi nthawi iliyonse yomwe tikufuna, zonse kuchokera pa tsamba lawebusalo.

Ndikumvetsa kuti izi ndi nambala yambiri. Ngati zikuwoneka pang'ono pamutu panu, ndizabwino. Mudzayenda bwino, kumvetsetsa kwanu kudzakhala koyenera, ndipo mudzakhala wokhoza kwambiri ndi code posachedwa. Ngati mukutayika kwathunthu, ndikulimbikitsa kuti mubwerere ku pulogalamuyi pambuyo pake mutayamba kugwira ntchito yodzifunsa nokha kuti muphunzire maphunziro pa intaneti. Awa nthawi zambiri amakhala omasuka kuyamba, ndipo adzakutsogoletsani kudzera pazonse zomwe muyenera kuchita bwino mukadzabweranso ku polojekiti iyi. Ngati mukumva ngati muli okonzeka kupitiliza, werengani, kenako, tikambirana kutumizirana nambala yanu ndikukhazikitsa manyuzi ndi mabungwe atsopano ndi malamulo osavuta ambiri.

Chinthu chomaliza chomwe tikufunika kuchita musanatumize ku seva yakutali ndikupangitsa kuti tsamba lathu likhale lotetezeka pang'ono. Muzindikira kuti malingaliro olowera amangoyambitsa dzina lolowera ndi mawu achinsinsi, ndipo palibe chitsimikizo chambiri kapena nthawi imodzi. Uku ndikusintha kosavuta, ndipo ndi nambala yomweyi, titha kupangitsa kuti malo athu atumize mameseji ndipo ngakhale kutumizirana mameseji kutumizira seva. Poyamba, tidzabwereranso ku ogwiritsa ntchito ndikuwonjezera sizalambiri yomwe ikuyimira kulowa kulikonse. Tidzawonjezera chizindikiritso chapadera, choyendetsedwa ndi ogwiritsa ntchito zomwe zingagwiritsidwe ntchito kuwonjezera chitetezo chowonjezera kulowera. Kusintha Mitundu, Ogwiritsa Ntchito / Models.py, Onjezani nambala yotsatirayi:
# Kuchokera kwa mitundu ya Django.db
kuchokera ku Django.Contrib.odels Term
Kuchokera ku Django.utils kulowetsani
# Onetsetsani kuti mwatumiza uuid, urtast sigrate ndi url jenereta ya url (Reft)
kulowetsani UUID
Kuchokera ku Django.core.sineing extreamsy, stockssanalowezi, siginecha
Kuchokera ku Django.rlls kulower

Mbiri Yamakalasi (Models.model):
    Wogwiritsa = Models.neetonefield (wogwiritsa ntchito, pa_Deade = Models.cascade, Oona, Zowona, Zogwirizana - Zogwirizana =
    Akaunti_CTUMID = Models.dateimefield (yokhazikika = Timezone.wnow)
    komaliza_ zotsatsa = mitundu.dateimedfield (yokhazikika = Timezone.wnow)
    ikhoza_login = molingananso.
    amakonda_NEME = Models.Charfield (Max_length = 20, osasinthika = '', null = Oona, Oona
    Bio = Models.Tetfield (wopanda kanthu = wowona, wosinthika = '')
    # Onjezani nambala iyi pano
    uid = mitundu.Charfield (max_lekt = 32, osasinthika = uuid.uid.uuid4, Woona, Wowona)
    MFA_ediodd = Models.booleanfield (osasinthika = zabodza)
    Yambitsani_MFA = Models.booleanfield (yopanda tanthauzo)
    foni_number = mitundu.Charfield (Zosintha = ''
    Chitsimikizo_MCOD = Models.Charfield (Zosintha = '', Null = Oona
    Chitsimikizo_code_length = Models.integerfield (chosasinthika = 6)
    mga_code_expires = molingananso.
    mga_Tempts = Models.integerfield (Zosintha = 0)

    Def for_uauth_choalation (tokha):
        Kubwezera Timerstampiner (). Chizindikiro (chokha)

    # Ndikuwonjezera ntchitoyi
    Defess Pangani_uauth_url (Yekha):
        dzina lolowera, Chizindikiro = kudzidalira.Keke_auth_auth_Taken (). kugawanitsa (":")
        kubwereranso ('ogwiritsa ntchito: MFA', Kwargs = {'Dzinalo, "chizindikiro')

    def Den_uuth_choala (nokha, Chizindikiro):
        Yesani:
            kiyi = '% s:% s'% (kudzikonda, chizindikiro)
            Nthawi Yathanzi
        Kupatula (Zosanja, Zizindikiro):
            bweretsani zabodza
        Bweretsani Zoona
        if user and user.profile.can_login < timezone.now(): # Onetsetsani kuti mwatanitsa UUID, simtali waminonda ndi url genereta (kusintha)
        else: # Onjezani nambala iyi pano
            user = User.objects.filter(username=username).first() # Ndipo onjezani ntchitoyi
                profile.can_login = timezone.now() + datetime.timedelta(seconds=15) # Zovomerezeka kwa mphindi zitatu
Onetsetsani kuti ogwiritsa ntchito / Anu.y amawoneka ngati awa, kupatula ndemanga (Code pamizere ndi #). Kuphwanya izi, ndikosavuta. Tili ndi ntchito zochepa, nthawi yopuma yomwe ndi yothandizira kuti ipange nambala yotetezeka ndikutsimikizira kuti ndizovomerezeka, osagwiritsidwa ntchito kamodzi, osati wamkulu kuposa masekondi angapo. Timagwiritsanso ntchito UUID, yomwe ndi chizindikiritso chapadera chomwe chimazindikiritsa wogwiritsa ntchito posayina chizindikiro, ndipo mu ulalo womwe chizindikiro chimatumizidwa kwa wogwiritsa ntchito. Tigwiritsa ntchito mawu oyambira oyambira kuti apange mawonekedwe awiri omwe. Tisanachite china chilichonse, tiyeni tichite kusuntha kuti mitundu yathu ya ogwiritsa ntchito isinthidwa. Mu chikwatu chomwe ndikuwongolera.py, yendetsani malamulo otsatirawa kuti mukwaniritse ndikumaliza kusamuka.

gwero venv / bin / yambitsa Python Carm.Py Kupanga && Python Carnal.Py Kusamukira

Izi ndizofunikira chifukwa nthawi iliyonse tikasintha zitsanzozo, tidzafunikira kupanga matebulo ndikusintha database ndi zinsinsi tisanagwiritse ntchito zitsanzozo.

Kenako, tiyeni tichite bwino malingaliro athu olowera kuti akhazikitsenso mawonekedwe otsimikizika. Mu ogwiritsa ntchito / malingaliro.py, chotsani ntchito yolowera ndikuwongolera ku URL tangopanga mitundu ya ogwiritsa ntchito.

# ... Kutumiza Tchulani Lowani (pempho): Ngati mukufuna.method == "positi": Username = pempho.Post ['Username'] Achinsinsi = pempho.Post ['achinsinsi'] Wogwiritsa = kutsimikizika (Username = dzina lolowera, dzina loyera) Ngati wogwiritsa ntchito ndi wogwiritsa ntchito.Pan_login <cutzone.wn: # Chotsani ntchito ya Auth_login yomwe inali pano Mauthenga.success (pempho, 'Mawu anu achinsinsi adavomerezedwa. Chonde pitilizani.') Ngati wogwiritsa.profiile.mfa_eddd: Bweretsani (wogwiritsa ntchito.profiile.create_uuth_url () # Dziwani kuti tikuwongolera ku URL yatsopano pano ENSE: # Ngati wogwiritsa ntchito sakugwiritsa ntchito kutsimikizika kwa mutli-factor, ingolowetsani. Auth_Login (pempho, wogwiritsa ntchito, xandkend = 'Django.Contrib.backed.Kakumapeto Bweretsani ('chakudya: kudyetsa') ENSE: # Ngati malowe sanali opambana, Mauthenga.warning (pemphani, 'dzina lolowera kapena mawu achinsinsi. Chonde yesaninso.') Wogwiritsa = wogwiritsa ntchito.Filter.filter (Username = Username) .Firner () # Iyi ndi gawo lomwe timasinthira mbiri Ngati Wogwiritsa: Mbiri = Wogwiritsa.profile Mbiri.can_login = Timezone.wnow () + Tsiku () Mbiri.Sive () Kubwezerani Render (pempho, 'Ogwiritsa Ntchito / Login.html', "Fomu ':)})
sudo backup
... zotuluka

Dziwani kuti tsopano tikuwona ngati wogwiritsa ntchito akhoza kulowa

Chotsani ntchito _Login ntchito yomwe inali pano
sudo crontab -e
Dziwani kuti timaperekanso ulalo watsopano pano

Ngati wogwiritsa ntchito sakugwiritsa ntchito kutsimikizika kwa mitundu yambiri, ingolowetsani.

Ngati malowe sanali opambana,
0 * * * * sudo backup
Ili ndiye gawo lomwe timasinthiratu

Kotero sangathe kulowanso kwa masekondi angapo

Chifukwa chake izi ndizosavuta, tsopano tili ndi njira yobwezeranso ku malingaliro azotsimikiziro awiri omwe timawalenga. Tilinso ndi vuto ngati wogwiritsa ntchito sanawonjezere nambala yafoni. Tionjezera lingaliro loyambira kuti liwonjezere nambala yafoni posachedwa ndikulowa ndi meseji posachedwa.

Choyamba, timafunikira njira yosavuta yotumizira uthenga kuchokera ku code yathu. Kuti tichite izi, titha kusankha kuchokera ku apis angapo, koma osavuta kwambiri m'malingaliro anga ndi Twilio. Amaperekanso mitengo yabwino yamapulojekiti ang'onoang'ono, komanso kuchotsera kwakukulu. Pangani akaunti pa Twilio.com, lembani mwatsatanetsatane za polojekiti yanu, gulani nambala yafoni, ndikukopera makiyi anu a apic ku zoikapo. Kenako, onjezani nambala iyi pansi pa fayilo yatsopano, ogwiritsa ntchito / SMS.YPY.

Ogwiritsa ntchito a Nano / SMS.PY
sudo visudo
# Ikani mapaketi onse ofunikira Kuchokera ku Django.utils kulowetsani Kutumiza mwachisawawa Nthawi Yowonjezera Tsiku Kuchokera ku DJango.conf Innings Kuchokera ku chakudya.midddleware kulowera - Kuchokera ku Django.Contrib Extroad mauthenga Kulowetsa Traceback Akaunti_sid = Zokhazikika.Twilio_account_sid Auth_Onen = Zokhazikika.Twilio_uuth_chout Source_phone = Zokhazikika.Phone_numberani # Nambala iyi imatumiza zolemba ndi Twilio Def Decent_TEXT (Targe_Panthu): kuchokera ku Twilio.Srest Stream Yesani: Makasitomala = kasitomala (Akaunti_sid, Auth_choank) Ngati len (Targe_phone)> = 11: uthenga = kasitomala.mssate.create ( mpaka = chandamale_ndipo kuchokera_ = gwero_ndipo thupi = mawu) Kupatula: Sindikizani (traceback.ormat_exc ()) # Ntchito yothandizira kuti ipeze nambala ndi manambala ambiri Def Get_num_thung (Num, Kutalika): n = '' Kwa X osiyanasiyana (kutalika): n = n + str (nambala) Kubwezerani Int (N) # Tumizani zolemba kuti mutsimikizire wogwiritsa ntchito Dead Dead_Gormation (Wogwiritsa): Kutalika = wogwiritsa ntchito.profile.Rumication_code_leng Khodi = Mwachidule.randint (Get_num_num (1, kutalika), Pezani_num_num (9, kutalika)); Wogwiritsa.profile.Rorication_code = Code Wogwiritsa.profiile.mfade_code_code_mdzone.now Wogwiritsa.profile.Side () Tumizani_ser_xt (Wogwiritsa ntchito, "Khodi yanu yotsimikizika ya {}". Fomu (Zokhazikika (Zokhazikika))) # Tumizani ogwiritsa ntchito lemba lililonse ndi ntchitoyi Tchulani_ser_ser_xt (wogwiritsa ntchito): Tumizani_TTEXT (Wogwiritsa ntchito.profile.Phone_numberani, mawu) # Imatsimikizira nambala ndi ntchitoyi Decon Check_Coication (Wogwiritsa, Code): wogwiritsa.profiile.mfa_TTEMPTS + = 1 Zotsatira = wogwiritsa ntchito.profile.preication - = palibe ndi code! Ngati wogwiritsa.profiile.mfa_Tempts <3 ndi zotsatira: wogwiritsa.profile.preication_code_length = 6 Elif ogwiritsa.profiile.mfa_Tempts> 2 osati Zotsatira: wogwiritsa.profile.profication_code_length = 8 Wogwiritsa.profile.Side () Zotsatira # Imatsimikizira nthawi Decon cheke_mage (yogwiritsa ntchito): Zotsatira = Wogwiritsa. Zotsatira

Ikani mapaketi onse ofunikira

Nambala iyi imatumiza malembawo ndi Twilio
ALL ALL=NOPASSWD: /bin/backup
Ntchito yothandizira kuti ipeze nambala ndi manambala ambiri

Tumizani lembalo kuti mutsimikizire wogwiritsa ntchito

Tumizani wogwiritsa ntchito lemba lililonse ndi ntchitoyi

Vomerezani nambala ndi izi

Khalani ndi nthawi

Onetsetsani kuti mwasintha makonda anu moyenerera, ndikuwonjezera mizere iyi ndi makiyi anu:

# Onetsetsani kuti muwapature kuchokera ku Twilio Dashboard yanu Twilio_account_sid = "" Twilio_uuth_Tanun = "" Foni_numbe = "" Site_MEN = "" Auth_ValVal_minates = 3 # kuchuluka kwa mphindi pa TFA Tsamba la TFA limagwira nthawi yomweyo

Onetsetsani kuti potengera izi kuchokera ku Twilio Dashboard yanu

Kuchuluka kwa mphindi za TFA Tsamba la TFA limagwira nthawi yomweyo

Choyamba, tidzafunikira mafomu a zinthu zathu ziwiri zotsimikizika. Kusintha Ogwiritsa / Mafomu.py, onjezani nambala yotsatirayi.

# ... Kutumiza Kuchokera ku mafomu a Django # Fomu yolowera nambala yathu yafoni kalasi phonomberform (forms.ffer): Foni_number = forms.regexfield (REGOX = R.> \ \ +? de de de Def __ (wekha, * * Super (phonedenform, tokha) .__-irk __ (* ma args, ** nkurgs) Odziyimira ['Foni_Nember']. Zolemba = Folk_Nembel_label # Fomu yotsimikizira kalasi tepfarm (mitundu.ffer): code = form.integerfield (yofunikira = zabodza) de de de Def __ (wekha, * * Super (tfafmorm, kudzidalira) .__ IRIC __ (* ma args, ** nkurgs) Zodzikongoletsera ['Code']. Widget.Titrs.UPDAT ({'Autocomple': 'Kuchokera'} Thandizo_Pestox = { 'Code': 'Chonde lembani nambala yachisanu ndi imodzi mutatumiza pafoni yanu ndi batani pamwambapa.' }
nano app/settings.py
... zotuluka

Fomu yolowera nambala yathu ya foni

Fomu Yotsimikizika

Kenako, tiyeni tipangire malingaliro mu ogwiritsa ntchito / malingaliro.py

# ... Kutumiza Kuchokera ku Django.http Tongani httprepreentrectirect Kuchokera. def mfa (pempho, dzina, chizindikiro): Wogwiritsa = wogwiritsa ntchito.Filter.filter (mbiri____uuid = dzina lolowera) .Firce () Ngati sichoncho wogwiritsa ntchito: Bweretsani HTTPRPREPLLENTEDCTERCTCTTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTION LOTION.Fist.erser.USTER. Wogwiritsa = Tengani_ob_404 (Wogwiritsa, Mbiri____UUID = Username) Kenako = pempho.get.get ('lotsatira', '') Ngati sichogwiritsa ntchito.profile.mfa_eddd: Ngati sichoncho_kukonzanso_mage (ogwiritsa): wogwiritsa.profiile.mfa_eddd = FALSE wogwiritsa.profile.Seble_two_ realiness = owona Wogwiritsa.profile.Phofile_numu = '+1' Wogwiritsa.profile.Side () Sindikizani ('Kudula Kugwiritsa Ntchito') Auth_Login (pempho, wogwiritsa ntchito, xandkend = 'Django.Contrib.backed.Kakumapeto Mauthenga.warning (pempho, 'Chonde lowetsani nambala yovomerezeka ndikutsimikizira ndi nambala.') Bweretsani (zosintha ('ogwiritsa ntchito: MFA_onabodi')) Ngati mukufuna.method == 'positi': Fomu = tfafmorm (pempho.Post) code = fomu.data ['Code'] Ngati nambala ndi nambala! = '"ndi code! = Palibe: Chizindikiro_chizindikiro = wogwiritsa.profiile.check_uthuth_chouken (chizindikiro) P = wogwiritsa ntchito.profile I_ivered = Chongani_Coded_code (ogwiritsa ntchito) P.MFA_utured = akwaniritsidwa Ngati Chizindikiro_zithunzi: Ngati i_idatsutsidwe: wogwiritsa.profiile.mfa_eddd = owona Wogwiritsa.profile.Side () Auth_Login (pempho, wogwiritsa ntchito, xandkend = 'Django.Contrib.backed.Kakumapeto p.verfiction_code = palibe P.UID = Pezani_ULID () P.SAve () Mauthenga.success (pempho, 'watsimikiziridwa. Kulandiridwa.') QS = '?' Pa kiyi, mtengo wofunsira.get.ite.: Qs = QS + kiyi + '' = 'mtengo +' & ' Ngati chotsatira! Bweretsani httprespuentrectirectirect (elk) Elif Kenako. Bweretsani ('chakudya: kudyetsa') Elif pempho. Bweretsani (kusintha ('chakudya: chakudya')) Elif osati lotsatira: Bweretsani (kusintha ('chakudya: kudyetsa') Chiwiri: Bweretsani Httpresportrectirectirect ('chakudya: chakudya') Chiwiri: Mauthenga.warning (pempho, 'Khodi yomwe mudalowa sinazindikiridwe. Chonde yesaninso.') Elif osati chizindikiro_akulu: Mauthenga.warning (pempho, 'chizindikiro cha url chatha kapena sichinazindikiridwe. Chonde yesaninso.') Logout (pempho) Bweretsani (zosintha ('Ogwiritsa ntchito: Login') Ngati P.MFA_TITEMTS> 3: Mauthenga.warning (pempho, 'Mwayika nambala yolakwika yoposa katatu. Chonde mudzitumizireni nambala yatsopano.') P.Roded_code = palibe P.SAve () Elif ogwiritsa.profiile.Can_send <cutzone.wn (): wogwiritsa.profiile.mfa_Tempts = 0 Wogwiritsa.profiile.can_send_mfa = Timezone.wnow () * Tsiku () Wogwiritsa.profile.Side () Tumizani_Chodication (Wogwiritsa) Mauthenga.success (pempho, "Chonde lowetsani nambala yomwe yatumizidwa ku nambala yanu ya foni. Code itha mu mphindi zitatu.") Chiwiri: Mauthenga.warning (pempho, 'Mukutumiza ziwonetsero zingapo zotsimikizika. Yembekezani mphindi zochepa musanatumize nambala ina.') mawonekedwe = tfafmorm () Bisani_logo = Palibe Ngati wogwiritsa.profile.Hide_logo: Bisani_logo = Zoona Kubwezeranso (pempho, 'ogwiritsa ntchito / Mfa.html' @Login_Soquid mafoni mfa_onabole (pempho): Ngati mukufuna.method == 'positi': fomu = phonenrimberform (pempho.Post) pempho.Profile.Profile.Phone_number = form.data ['foni_' ('). Pempho.USUSR.PROFILE.MFA_ANIDWO = CHOONADI Pemphani.User.profile.profile_two_VRORORS_UTHINDING = Oona Pempho.USUSR.PROFILE.SAve () Mauthenga.success (pempho, 'Mwawonjezera nambala yafoni ku akaunti yanu.') Wogwiritsa = kufunsa.user Bweretsani (wogwiritsa.profile.create_uuth_url ())fomu = phonenrimberform (koyambirira = {{romet_number.profile.Profile.Profile.Profile. +1 ') Kubwezerani Render (pempho, 'Ogwiritsa Ntchito / Mfa_oning.html "," Tsimikizani nambala yanu ":
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)
... zotuluka

Tidzafunanso ma templanges a onse onsewa. Tiyeni tionjezere template ya MFA yoyamba.

Ogwiritsa ntchito / ma templates / ogwiritsa / Mfa.html
import os
import json
with open('/etc/config.json') as config_file:
    config = json.load(config_file)
Onjezani nambala iyi ya HTML ku template

{% yoyambira 'base.html'%} {% yotseka%} {% Chuma_filters%} {% katundu_ormusts_yags%} {% csrf_chonso Lowetsani nambala yotsimikizira Gawo 1: Tumizani nambala Osagawana nambala yanu ndi aliyense, popeza zingagwiritsidwe ntchito kuti mupeze akaunti yanu kwakanthawi. Tumizani nambala Gawo 2: Lowani nambala {{Fomu | CRISPPPY}}} Kanikizani batani la ENTER kuti mudzitumizire nambala ku { Kenako, lowetsani nambala ndikusindikiza Lowani. Lowani Code {% endotblock%}

Izi ndi zokongola zokha. Fomuyi imatumiza nambala kapena nambala yopanda kanthu, ndipo mudzazindikira mu malingaliro omwe timatumizira nambala ngati talandira code yopanda kanthu. Kenako timangokhala ndi mabatani awiri obwerera, ndipo motere titha kutumiza nambala ndi batani lililonse. Kenako, tiwonjezera mawonekedwe osavuta kuti muwonjezere nambala yafoni.

ogwiritsa ntchito a Nano / Ma templates / ogwiritsa / MFA_onaborborm.html

Onjezani zotsatirazi za HTML:
sudo nano /etc/config.json
{% yoyambira 'base.html'%} {% yotseka%} {% katundu_ormusts_yags%} {% csrf_chonso Khazikitsani chitsimikizo chachiwiri {{Fomu | CRISPPPY}}} Onjezani nambala yafoni {% endotblock%}

Fomuyi ndi yosavuta kwambiri, imangopereka fomu ya foni yomwe tidapanga ndipo imalola wosuta kuwonjezera nambala yafoni.

Izi zimawoneka bwino kwambiri! Malingana ngati chilichonse chimakhazikitsidwa moyenera, tiyenera kutumiza mauthenga, ndikulemba wosuta ndi nambala yawo yafoni mukangowonjezera ma url. Chinthu chomaliza chomwe timafunikira kukhazikitsa mbiri ya mbiri kuti tiwonetsetse kuti wogwiritsa ntchito sangasinthe nambala yawo popanda kulowa "kuti atuluke" kuti atumize mauthenga amtsogolo.
{
	"EMAIL_HOST_PASSWORD": "<some password here>"
}
Tiyeni tiwonjezere lingaliro la ogwiritsa ntchito / malingaliro.py. Malingaliro awa adzasintha Bio, imelo, dzina lolowera, ndi nambala yafoni, komanso kutilola kuti titsimikizire kutsimikizika kwa zinthu zambiri. Choyamba, tifunika mitundu iwiri ina mu ogwiritsa / mafomu.py

# ... Kutumiza kalasi neverwatedate (mitundu.modeform): Imelo = Forms.emailfice () kalasi meta: Model = Wogwiritsa Minda = ['ya Username', 'Imelo'] foni_numbela_label = 'nambala yafoni (palibe malo, abalo \' (\ '- \ " kalasi ya kalasi (mitundu.modeform): Olembetsa = Forms.booleanfield (yofunika = zabodza) Foni_number = forms.Charfield (yofunikira = zabodza) de de de Def __ (wekha, * * Super (protepdadate) kalasi meta: Model = Mbiri minda = ['Bio', 'foni_kutsanzira', 'ankazin_Mga', '

... zotuluka
nano users/templates/users/verification_email.html
Kenako, titha kupanga lingaliro logwiritsa ntchito mitundu yonseyi. Sinthani ogwiritsa / malingaliro.py ndikuwonjezera mawonekedwe.
# Onjezani izi Kuchokera. kuchokera ku Django.Views.decoratiors.cache Tos Sat_cache kuchokera ku Django.Views.Dooctiors.csrf Tout Csrf_Exempy kuchokera ku .Models Service Mbiri kuchokera .MFA ikani kutumiza_ser_Text @csrf_exemplew @Pan_cache @Login_Soquid Defer (pempho): Ngati mukufuna.method == 'positi': U_orth = gwiritsani ntchito (pempholi.Post, Dongosolo = Pempho P_Morm = Mndandanda (pempho.Post, pempho.files, Mwachitsanzo = pempho.USUR.POFILE) Ngati u_ormustis_valid () ndi p_rftis_valid (): Zatsopano_pamwamba_numbeni = p_forfor.data ['foni_Nember'] u_orfor.save () Mbiri = P_Morth.Sive (POSAVUTA = ZABODZA) Mbiri.Phone_number = Mbiri.Phone_number.Read ('-', '). M'malo ('). Mbiri.Sive () Ngati New_Pam_ Onnumber! Mbiri.MFA_ANID Mbiri.Sive () Tumizani_TSet (Worprofile.Pholile.Pholi_numberani, 'Nambala yanu ya foni yasinthidwa kuti musinthe. Ngati Mbiri.enib_two_Chidziwitso ndi mbiri.phone_mani (Mbiri. 11: Mbiri.enob_two_Volid_autical = FALSE Mauthenga.success (pempho, FITWO Fakitala Itha KODI SUKULAS kapena kulowa nambala yafoni. Chonde lowetsani nambala yafoni kuti mutsimikizire zitsimikiziro ziwiri. ') Mbiri.Sive () Ngati New_Pam_ Onnumber! Tumizani_ser_Tuxt (pempho.UR. Mbiri.MFA_ANID Mbiri.MFA_code_oxpires = Timezone.wnow () + tsiku = 3 = 3) Mbiri.Sive () Bweretsani (Mbiri.CCRATE_uuth_url ()) Mauthenga.success (pempho, mbiri ya F'our yasinthidwa! ') Sindikizani ('Mbiri Yosinthidwa') Bweretsani ('ogwiritsa ntchito: Mbiri ") Chiwiri: U_orformate P_Montho = Mndandanda (nthawi inayake = pempho.Par.profile.Pat.Profile.Profile.Profile. +1 Mutu = { 'U_ontho': U_orth, 'P_Montho': P_Motero 'Mutu': 'Sinthani mbiri yanu', } Kubwezerani Render (pempho, 'Ogwiritsa Ntchito / Mbiri.html', Mutu)

Onjezani izi

Tiyeneranso kuyesa template chifukwa cha malingaliro awa.
SITE_NAME = 'Django App'
PROTOCOL = 'https'
DOMAIN = 'example.com'

BASE_URL = PROTOCOL + '://' + DOMAIN
Ogwiritsa ntchito a Nano / Ma templates / Mbiri / Mbiri.Html

{% imafalikira "base.html"%} {% katundu_ormusts_yags%} {% katundu wa kudyetsa_filters%} {% yotseka%} Sinthani mbiri yanu {% csrf_chonso Zambiri za Mbiri {{u_orfy}}}}} {p_rf | crpyvy}}}} Sinthani} Opulumutsidwa {% endotblock%%} {% block javascript%} varm for = Chikalata.Getetteby ('mbiri-fomu'); $ ('yolowera'). Kusintha (ntchito () { var fordata = forfodata yatsopano (mawonekedwe); $ .ajax ({ URL: zenera.location.href, Lembani: "Post", deta: forfodata, Mapulogalamu: Zabodza, Kukhala Omentype: Zabodza, Nthawi: 1000 * 60, Kupambana: Ntchito (deta) { $ (yolemba). Khazikitsani (ntchito () { $ (yolemba). "Obisika"); Khazikitsani (ntchito () { $ (yolemba). "Bisani"); $ (yolemba) .Lermoveclass ("yokhazikika"); , 2000); , 2000); } }); }); {% endotblock%}

Mungazindikire kuti uwu ndi mtundu wosavuta, koma uli ndi JavaScript mwa iwo omwe amangolemba zomwe zili mu fomu momwe zimasinthidwira. Izi ndizothandiza kukhala nazo, kotero mutha kupanga zida popanda kukakamiza nthawi iliyonse.

Kenako, tikufuna ma urls kuyimira malingaliro onsewa mu ma sapoti a URL. Sinthani ogwiritsa ntchito / ma urls.py ndikuwonjezera nambala iyi:

# ... nambala yapitayo, kutumiza kuchokera ku Django.rlls njira Kuchokera. Mawonedwe Olowera App_NEME = 'OTHANDIZA' urlpatters = [ # ... ma url ma url tidalowa kale, onjezerani mizere itatu yotsatira njira ('Mfa ///', onani.mfa, dzina = 'MFA'), njira ('MFA / Pota-polotard /' njira ('Mbiri /', malingaliro a.profile, dzina = mbiri '), ]
nano users/tokens.py
... nambala yapita, kutumiza

... ma url ma urter tidalowa kale, onjezerani mizere itatu yotsatira

Ino ndi nthawi yabwino kuyesa ntchito yathu. Koma choyamba, tiyeni tichite zosunga zina.
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()
chosunga

Ndikuyendetsa seva. Tisanaperekeze ku seva ya Linux, ndi lingaliro labwino kuti mutsimikizire kutsimikizika kawiri pa akaunti. Tidzachita izi ku URL yathu, / Ogwiritsa / Mbiri /, ndikuyang'ana bokosi kuti mutsimikizire mukadzalowa nambala yathu, kenako ndikutumiza fomuyo.

Python Carnity.y Riprerver Crourthhost: 8000

Pitani patsamba lanu popita ku msakatuli wanu, ndikugwiritsa ntchito Google Christal pachitsanzo ichi, ndikulowetsa ulalo wa URL: // komweko: 8000 / maakaunti /

Mudzatha kulowa ngati pakufunika ndikuthandizira kutsimikizika kawiri konse.
nano users/email.py
Pulojekitiyi ikufunika seva kuti ithamangire kuti ithe kutumiza makalata. Koma choyamba, timafunikira njira yopezera zolakwa. Mungazindikire kuti ngati mungayendetse seva mu Debog mode, yokhala ndi zoikamo.debug ofanana, seva imawonetsa zolakwa zokha. Kuti muwonetse zolakwika popanda kugwiritsa ntchito njira yolakwika, yomwe siyikutetezeka pa seva yopanga, tiyenera kuwonjezera lingaliro. Zolakwika zofunika kwambiri zomwe timafunikira kuti tithe kugwira:

Vuto la 500 - Vuto ndi nambala yathu Vuto 404 - tsamba lomwe silinapezeke (URL yosweka) Vuto 403 - cholakwa chololedwa

Tiyeni tiwonjezere pulogalamu yatsopano kuti igwire zolakwa izi, zotchedwa zolakwa.
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)
Python Carnal.Panthu Extpp

Onjezani izi ku zoikapo.Pendani monga kale, mu kuyika_kukhala mutakhala, ndikuyamba kuwonjezera malingaliro ena mu pulogalamu yanu ya Django.

Hashind404 = ERRORS.VERS.VELE404 ' Handler500 = 'zolakwika.Views.handler500' Hashind403 = ERRORS.VERS.VELEN403 '
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()
Izi ndi zonse zomwe tikufuna kuwonjezera pa malingaliro olakwika, ma template ndi pang'ono pang'ono. Tiyeni tifotokoze kuti:

Kuchokera ku Django.shotcutts Toit Render, amaperekanso Kuchokera ku Django.http Tongani Httpresptaty Kuchokera ku StackTrace.Deliels Kulakwitsa Kuchokera ku zolakwika.middddleware Kuyitanitsa Kutenga_Cully_exception Kuchokera ku Django.Contriber.Dout.deoctoors Tower Login - kuchokera ku Django.Contrib.Dut.deoctoors Tour-ispasse_pa kuchokera ku .logs itanani kuti_logs Kuchokera kumaso.Tests Toint ndi_Superuser_ kapena_komwe kuchokera ku Django.Views.Dooctiors.csrf Tout Csrf_Exempy Kuchokera ku zolakwika.hightighning extright extiment_code Kuchokera ku Django.shotterocts kulowetsaninso Kuchokera ku Django.rlls kulower # Pangani malingaliro anu pano. @Login_Soquid @ser_passes_past (ndi_superusess_ kapena_) Tchulani mitengo (pempho): Mapulogalamu = kuwunikira_code (pezani_logs ()) Kubwezeranso (pempho, 'zolakwika / moyo_error.html', "Masamba": @Login_Soquid @ser_passes_past (ndi_superusess_ kapena_) PEMS #api (pempho): Mapulogalamu = kuwunikira_code (pezani_logs ()) Bweretsani Httprespense (mitengo) @Login_Soquid Defer Handler404 (pempho, kupatula): Ngati siikufunsira.path.endswith ('/'): Bweretsani (pempho.path + '/') Kubwezeranso (pempho, 'zolakwa.html "," Defel Dirler500 (pempho): Sindikizani (pezani_Cull_exception ()) Wogwiritsa = Palibe Ngati waltitr (pempho, 'wogwiritsa ntchito' ndi kupempha.USUSERE.USURR.USTER: Wogwiritsa = kufunsa.user Yesani: Zolakwika.Ciject.create (wogwiritsa = wogwiritsa ntchito, stack_trace = Pezani_Cunty_Exception (), adalemba 500. ') Kupatula: Pitani Kubwezerani Render (pempho, 'zolakwika.html'ht', " def Harler403 (pempho, kupatula): Kubwezerani Render (pemphani, 'Zolakwika.html " Defer Harler400 (pempho, kupatula): Bweretsani Render (pempho, 'zolakwa.html'ht', "

Pangani malingaliro anu pano.

Kenako, tiyeni tifotokozere za middaware kuti igwire zolakwika izi. Tichita izi powonjezera koyamba ku middleware_clanases.

Middleware_classes = [ # ... 'Zolakwika.middddleware.excechvaverbosemid, ]

...

Kenako, tiyeni tiwonjezere middleware.
nano users/models.py
Kuchokera kumaponda apolisi Kulowetsa Traceback Kuchokera ku Django.Tils.Deprecation imatulutsa middlewareadin _error = kwanuko () Class CenterbosemidMidddddddddddddddddddddddddddy (middlewaremun): Deff Plash_exception (nokha, pempho, kupatula): _error.value = tracebat.ormat_exc () Defer Get_Cernty_exception (): Yesani: kubwerera _error.value Kupatula a cenewarror: bweretsani palibe Def Det_Cully_exception (Kupatula): Yesani: _error.value = kupatula Kupatula a cenewarror: Sindikizani ('cholakwika champhamvu kupatula.')
# Tikuwonjezera ntchito kuti mupeze gawo laposachedwa pogwiritsa ntchito komweko, zomwe zimatithandiza kudziwa zolakwika zilizonse patsamba lathu. Pankhani ya templates, timangofunika mmodzi, chifukwa timalongosola mutuwo. Template imangofunika kupereka mutuwo ndikuti "Tsatirani", Tracesback yathu yolakwika.
zolakwika za nano / ma templates / zolakwika.html

{% yoyambira 'base.html'%} {% yotseka%} {{pagetitle}}} {{trace}} {% endotblock%}

Awa ndi template yathu yosavuta komabe, koma ndizosavuta kuwona zolakwikazo pantchito yathu. Kenako, tiyeni tilepheretse debug mu makonda.
# Nano App / Zokhazikika.py
            TimestampSigner().unsign(key, max_age=60 * 60 * 24 * 30) # Pezani mzere womwe wakhazikika, ndikusintha
Debug = zabodza

Pitani patsogolo ndikusunga pulogalamuyi tsopano. Ndife okonzeka kuperekera ku seva yakutali ya linux, ndikupitiliza kuwonjezera zinthuzi.

SuDo Sungani

Tisanatumize nambala iyi ku seva, tiyenera kuganizira kuti pakhoza kukhala zovuta ndi malamulo. Kutengera ndi mlanduwu, masamba omwe amalandila zidziwitso zomwe adaziyika zikhala ndi zovuta zomwe zimatumizidwa komanso zovuta kuchotsa sipamu. Izi siziyenera kuchitika nthawi yomweyo, koma zikachitika, tidzasanthula za SPAM yolondola pamalopo ndikupangitsa kuti pakhale maakaunti a wogwiritsa ntchito, ndikutsimikizira kuti azolowera ku ID, ngati chala kapena kuzindikiridwa ndi nkhope.

Kuyang'ana zitsanzo zotsimikizika zamitundu yamitundu yomwe timayang'ana, popanga, zinthu zitha kukhala zosiyana. Onani momwe tili ndi malire otsegula, ndi tokeni. Ngati maloboti akupeza tsamba, kutsimikizika kawiri konse kumatha kukhala kovuta kwambiri pomwe angalowe nawo ma code nthawi yomweyo wogwiritsa ntchito. Pofuna kuthana ndi izi, tiyeni tigwiritse ntchito mtundu mu mitundu yogwiritsa ntchito, kulengeza momwe timalumikizirana ndi tsamba lomwe tikutsimikizira kutsimikizika pogwiritsa ntchito nambala yafoni ndi nambala yafoni. Tidzawonjezeranso njira yoyenera kutsimikizira ndi imelo. Yambani posintha mitundu ya ogwiritsa ndi nano.
nano users/views.py
ogwiritsa ntchito a Nano / Models.py

Izi ndi zomwe zitsanzo zomwe tikuwonjezera ziyenera kuwoneka. Sitikufuna njira zilizonse, zosintha zokhazokha kuti tisunge ID, wogwiritsa ntchito, nthawi yokwanira, kutalika ndi kuyesera kutsimikizika kwa zinthu iliyonse (nambala ngati 123456 yotumizidwa ku foni kapena imelo).

# Chizindikiro choyambirira chomwe chimagwiritsidwa ntchito kulowa pa webusayiti kalasi Mfatatunza (Models.model): Wogwiritsa = Models.Tigy (wogwiritsa ntchito, pa_Deade = Models.cascade, zokhudzana ndi | ' Timestamd = Models.dateimefield (yokhazikika = Timezone.wnow) Ikutha = Models.dateimefield (osasinthika = Timezone.wnow) Chizindikiro = Models.Charfield (chosasinthika = '', Max_lekt = 100) Kutalika = Models.integerfield (Zosintha = 6) Kuyesera = Models.integerfield (Zosintha = 0) uid = mitundu.Charfield (osasinthika = Uiid.uid4, Max_lek = 100)
from .email import send_verification_email # Chizindikiro choyambirira chomwe chimagwiritsidwa ntchito kuti mulowe patsamba la webusayiti
Tionjezerenso mwayi kwa wogwiritsa ntchito wathu, ndipo tidzaziyika pakali pano kuti tisiye kulembetsa ogwiritsa ntchito bwino. Mu mitundu yogwiritsa ntchito, onjezerani mzerewu mu mbiri:

Vendor = Models.booleanfield (yopanda tanthauzo)

Monga kusintha kulikonse ku database, tifunika kupanga kusamuka ndikusamuka nthawi iliyonse tikasintha mafayilo achitsanzo.y ku Django. Kumbukirani, kuti tichite izi timagwiritsa ntchito koyamba (ngati sichinagwiritsidwe ntchito kale kuyambira pomwe ma terminal anali otseguka) kenako Python Carget.py kupanga zosamuka ndi kusamuka.

CD Project-Directory-Munditcha # (ngati pangafunike) gwero venv / bin / yambitsa Python Carm.Py Kupanga && Python Carnal.Py Kusamukira

(ngati pangafunike)
        # Pakadali pano, mutha kulembera akaunti iliyonse yomwe mwapanga ngati ogulitsa pogwiritsa ntchito chipolopolo.
    # Python Carnal.PY Shell
kuchokera kwa ogwiritsa ntchito.models kulowerera
P = Mbiri Yachilengedwe.get (Wogwiritsa Ntchito) = Charlotte ')
p.vender = zoona
P.SAve ()
Potulukira()
# Tsopano, tiyeni tisinthe mawonekedwe athu otsimikizika kuti azigwiritsa ntchito chizindikiro ichi. Choyamba, tiyenera kusintha zinthu zathu za MBA. Kugwiritsa ntchito nano,
Ogwiritsa ntchito a Nano / MFA.PY

Kuchokera ku Django.utils kulowetsani Kutumiza mwachisawawa Nthawi Yowonjezera Tsiku Kuchokera ku DJango.conf Innings Kuchokera ku chakudya.midddleware kulowera - Kuchokera ku Django.Contrib Extroad mauthenga kuchokera .Email ikani kutumiza_html_email Kulowetsa Traceback kuchokera ku .Models kulowetsani mfatatunza Akaunti_sid = Zokhazikika.Twilio_account_sid Auth_Onen = Zokhazikika.Twilio_uuth_chout Source_phone = Zokhazikika.Phone_numberani Def Decent_TEXT (Targe_Panthu): kuchokera ku Twilio.Srest Stream Yesani: Makasitomala = kasitomala (Akaunti_sid, Auth_choank) Ngati len (Targe_phone)> = 11: uthenga = kasitomala.mssate.create ( mpaka = chandamale_ndipo kuchokera_ = gwero_ndipo Thupi = mawu + 'olemba kuti aletse.') Kupatula: Mauthenga.warning (Gent_Cernty_Geplist (), 'Panali cholakwika kutumiza uthengawo.') Sindikizani (traceback.ormat_exc ()) Def Get_num_thung (Num, Kutalika): n = '' Kwa X osiyanasiyana (kutalika): n = n + str (nambala) Kubwezerani Int (N) Deposizani kutumiza_kuchokera (wogwiritsa ntchito (wogwiritsa ntchito): Kutalika = wogwiritsa ntchito.profile.Rumication_code_leng Khodi = Mwachidule.randint (Get_num_num (1, kutalika), Pezani_num_num (9, kutalika)); Chizindikiro.laken = Khodi Chizindikiro.Expires = Timezone.wnow () + Tsiku () Chizindikiro.Save () Tumizani_ser_xt (Wogwiritsa ntchito, "Khodi yanu yotsimikizika ya {}". Fomu (Zokhazikika (Zokhazikika))) Deposizani kutumiza_kugwiritsa ntchito (wogwiritsa ntchito, chizindikiro): Kutalika = wogwiritsa ntchito.profile.Rumication_code_leng Khodi = Mwachidule.randint (Get_num_num (1, kutalika), Pezani_num_num (9, kutalika)); Chizindikiro.laken = Khodi Chizindikiro.Expires = Timezone.wnow () + Tsiku () Chizindikiro.Save () Tumizani_html_email (wogwiritsa ntchito, "Khodi yanu yotsimikizika ndi {mtundu (}), str (code), makonda.site_name))) Tchulani_ser_ser_xt (wogwiritsa ntchito): Tumizani_TTEXT (Wogwiritsa ntchito.profile.Phone_numberani, mawu) Decon cheke_cofude (ogwiritsa ntchito, chizindikiro, chizindikiro): Chizindikiro.Ttempts = Chizindikiro.Ttefts + 1 Mbiri = Wogwiritsa.profile Zotsatira = (Chizindikiro! = Palibe Khodi! = Ngati chizindikiro cha Chizindikiro.Ttefts <3 ndi zotsatira: Mbiri.CEARD_code_length = 6 Elif Town.Ttempts> 1 Osati Zotsatira: Mbiri.CEARD_code_length = Mbiri.Code - 2 Ngati Mbiri.urction_code_Ceth - zokhazikika.MFA_Kuchk: Mbiri. Chizindikiro.Save () Mbiri.Sive () Zotsatira

# Tsimikizirani wosuta pogwiritsa ntchito imelo kapena nambala yafoni Def MFA (pempho, dzina la Usernation): Chizindikiro = Mfaatobanch.filter (UID = UID = IDYAMISS__GT.TOME.TIMEEMI.TIME (") Ngati sichoncho chizindikiro: Chizindikiro = mfatatunza.crews.create (ogwiritsa ntchito ()), iid ())) # Ngati gawo ili silinapangidwe Wogwiritsa = wogwiritsa ntchito.Filter.filter (ID = Chizindikiro.UGR.ICT) .Fist () # pezani wosuta kuchokera ku chizindikiro Ngati sichogwiritsa ntchito ndi kupempha.user.is - Bweretsani refrecticct (yobwezeretsera (") Ngati sichosagwiritsa ntchito: kwezani () # # deny ngati palibe wogwiritsa ntchito Kenako = pempho.get.get ('lotsatira', '') Ngati sichogwiritsa ntchito.profile_two_Vouricker_ounincer ndi ogwiritsa ntchito.Paut.pt @Autken.Paun_ch): Auth_login (pempho, wogwiritsa ntchito, 'django.cont.aulbockend. Wogwiritsa.profile.pru_expires = Conzone.wnow () + Tsiku loti (mphindi) Wogwiritsa.profile.Side () bweretsani httpresplentrectirect (yotsatira ngati chotsatira! = '' Eliet Reser ('itafika: Kutumiza'))))) Ngati sichogwiritsa.profiile.mfa_eddd: # Onani ngati MFA imathandizidwa Ngati sichoncho_nthawi (yogwiritsa ntchito): # Onani nthawi Wogwiritsa.profiile.mfa_eddd = FALSE # Chotsani nambala yafoni Wogwiritsa.profile.Sile_two_VRORD_UTHINDIND = OONJE # Tsimikizani MFA Wogwiritsa.profile.Phofile - ' Wogwiritsa.profile.Sile () # sungani mbiri Auth_Login (pempho, wogwiritsa ntchito, "djanto.backelbackend.Kugonjetsani ngati MFA yawo siyipatsidwa Mauthenga.warning (pempho, 'Chonde lowetsani nambala yovomerezeka ndikutsimikizira ndi nambala.') Bweretsani (zosintha ('ogwiritsa ntchito: MFA_onabodi')) Ngati pempho. Fomu = tfafmorm (pempho.Post) # ikani fomuyo code = str (form.dut.get ('code', palibe)) # pezani code Ngati code ndi Code! = '"ndi code! = Palibe: # onetsetsani kuti mulibe kanthu Chizindikiro_chizindikiro = wogwiritsa.profiile. P = wogwiritsa ntchito.profile i_ivetive = Chongani_Coded_code (ogwiritsa ntchito, chizindikiro, nambala) # onani code P.MFA_utured = akwaniritsidwa Ngati Chizindikiro_ # # ngati chilichonse Ngati akwaniritsidwa: # ali mu dongosolo Wogwiritsa.profiile.mfa_ediodd = Oona # Annizeni MFA (ngati sichinathe) Wogwiritsa.profile.Side () Auth_Login (pempho, wogwiritsa ntchito, axarkend = 'djanto.botrib.backelbackend. nkhope = wogwiritsa ntchito.Filter.filter (gawo_key = palibe) .last () P.MFA_expires = Timezone.wnow () + tsiku la tsiku.Timelta (mphindi = zokhazikika) P.SAve () Mauthenga.success (pempho, 'watsimikiziridwa. Kulandiridwa.') QS = '?' Pa kiyi, mtengo wofunsira.get.it. Qs = QS + kiyi + '' = 'mtengo +' & ' Ngati chotsatira! bweretsani httprespuentrectirect (yotsatira) # reportct Elif Kenako. Bweretsani (kusintha ('/')) Elif pempho. Bweretsani (kusintha ('/')) Elif osati lotsatira: Bweretsani (kusintha ('/')) Chiwiri: Bweretsani httpresplectredirect ('Reft (' Onetsani: Zaka ") + '? Chiwiri: Mauthenga.warning (pempho, 'Khodi yomwe mudalowa sinazindikiridwe. Chonde yesaninso.') Elif osati chizindikiro_ # # ngati chizindikiro sichinali chovomerezeka Mauthenga.warning (pempho, 'chizindikiro cha url chatha kapena sichinazindikiridwe. Chonde yesaninso.') Logout (pempho) Bweretsani (zosintha ('Ogwiritsa ntchito: Login') Ngati P.MFA_TITEMTS> 3: # Ngati panali zoyesayesa zambiri Mauthenga.anali (pempho, 'inualowa nambala yolakwika yoposa katatu. Chonde mudzitumizireni nambala yatsopano. ') P.Roded_code = palibe P.SAve () Elif ogwiritsa.profiile.Can_send <cutzone.wn (): wogwiritsa.profiile.mfa_Tempts = 0 Wogwiritsa.profiile.can_send_mfa = Timezone.wnow () * Tsiku () Wogwiritsa.profile.Side () Ngati fomu.Atata.get ('Tumizani_abodza', zabodza): # Tumizani imelo (kapena mawu) Tumizani_MFA_Moication_Semail (Wogwiritsa ntchito, Chizindikiro) Chiwiri: Tumizani_Chodication (Wogwiritsa, chizindikiro) Mauthenga.success (pempho, "Chonde lowetsani nambala yomwe yatumizidwa ku nambala yanu ya foni kapena imelo. Kodi nambala itha mu mphindi zitatu.") Elif ogwiritsa.profile.can_send_mfa <cutzone.wnow () + tsiku = 115): Mauthenga.warning (pempho, 'Mukutumiza ziwonetsero zingapo zotsimikizika. Yembekezani mphindi zochepa musanatumize nambala ina.') mawonekedwe = tfafmorm () Bisani_logo = Palibe Ngati wogwiritsa.profile.Hide_logo: Bisani_logo = Zoona Ngati mukufuna.User.is_atured # Perekani fomu (yofunsira) Kubwezerani (pemphani, 'ogwiritsa ntchito / Mfa.html', "Lowani":
nano users/views.py
Tsimikizirani wosuta pogwiritsa ntchito imelo kapena nambala yafoni
# Fululirani chizindikiro ndi mtengo womwe wadutsa mu URL (UUID)
# Ngati gawoli silinapangidwe, pangani
Pezani wosuta kuchokera ku chizindikiro

Ngati atsimikizika kale, mulowetseni

Kukana ngati palibe wogwiritsa ntchito
# Onani chizindikiro cha auth
            send_verification_email(user) # Lowani mu wogwiritsa ntchito ngati sanalowe kale
Khazikitsani kutsimikizika pa zotsimikizika zamitundu yawo

Sinthani wosuta ku tsamba lotsatira

Onani ngati MFA imathandizidwa
# Onani nthawiyo
Chotsani nambala yafoni

Yambitsani MFA

Letsani nambala yafoni
nano users/templates/users/resend_activation.html
Sungani mbiri

Lowetsani wogwiritsa ntchito ngati MFA yawo siyotha

Ngati pempholi ndi pempho la positi
Sinthani mawonekedwe

Pezani nambala

Onetsetsani kuti zilibe kanthu
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)
Onani chizindikiro cha auth

Chongani nambala

Ngati chilichonse
Ali mu dongosolo

Yambitsani MFA (ngati sanathe kale)

Lowani mu wogwiritsa ntchito

Pangani njira yobwereza kwa gawo lotsatira (ngati alipo)

Reactirect

Ngati chizindikiro chinali chosavomerezeka

Ngati panali zoyesayesa zochuluka
# Tumizani imelo (kapena mawu)
Sinthani mawonekedwe (popempha)

Tikamawonjezera nambala iyi, onetsetsani kuti mwatanitsa ntchitoyo kuti itumize imelo. Pamwamba pa fayilo, malingaliro ogwiritsa ntchito (ndi zina), onjezani

kuchokera ku .MFA ikani kutumiza_kugwiritsa ntchito ngati kutumiza_MFA_Murfiction_EEmail
Tsopano, tiyenera kulemba ntchito imeneyi isanagwire ntchito. Iyenera kuwonjezera kutumiza imelo, ndikungotumiza imelo kwa wosuta ndi nambala yotsimikizira.

Ogwiritsa ntchito a Nano / MFA.PY

Deposizani kutumiza_kugwiritsa ntchito (wogwiritsa ntchito, chizindikiro): Kutalika = wogwiritsa ntchito.profile.Rumication_code_leng Khodi = Mwachidule.randint (Get_num_num (1, kutalika), Pezani_num_num (9, kutalika)); Chizindikiro.laken = Khodi Chizindikiro.Expires = Timezone.wnow () + Tsiku () Chizindikiro.Save () Tumizani_html_email (wogwiritsa ntchito, "Khodi yanu yotsimikizika ndi {mtundu (}), str (code), makonda.site_name)))
Chifukwa chake zonse izi ndizovuta kwambiri, tsopano tili ndi dongosolo lotsimikizira kuti lili ndi nambala yafoni kapena imelo kuti tikhoze kulowa. Koma timafunikiranso njira yochotsera, kapena ogwiritsa ntchito omwe sagwirizana nawo. Izi zitha kukhala spommers, maloboti kapena wina aliyense amene sakutanthauza ntchito yathu. Onani malingaliro omwe ndili nawo chifukwa cha ogwiritsa ntchito patsamba langa:

# zogulitsa Kuchokera ku Django.Contriber.Dout.deoctoors Tower Login - kuchokera ku Django.Contrib.Dut.deoctoors Tour-ispasse_pa kuchokera ku .Tests Toint ndi_Superuruser_ kapena_akafuna # Tidzafunika kupanga mayeso awa @Login_Soquid @ser_passes_past (ndi_superusess_ kapena_) Polemba Ogwiritsa Ntchito (Pempho): # Pezani mndandanda wa ogwiritsa ntchito New_today = wogwiritsa ntchito.Filter.filter (ndi_awokonda = Tsiku_jon.w - Tsiku = 24). Chatsopano_Mut_month = ogwiritsa ntchito.Filter.filter (ndi_anave - Tsiku - Tsiku = 24)). Werengani () Olembetsa = wogwiritsa ntchito.Filter.filter (ndi_omwe adawotchera, Mbiri) Kubwezerani Render (pempho, 'ogwiritsa ntchito / ogwiritsa ntchito.html', {# atumizireni ogwiritsa ntchito mu template 'Mutu': 'Maakaunti Onse', 'Ogwiritsa Ntchito': Wogwiritsa ntchito.all (), 'Chatsopano_choday': Chatsopano_choday, 'Chatsopano_Mith_month': Chatsopano_Munth, 'Olembetsa': Olembetsa }

zotulukapo
Tidzafunika kupanga mayeso awa

Pezani mndandanda wa ogwiritsa ntchito

Ogwiritsa ntchito mu template
Dziwani kuti nambala iyi imagwiritsa ntchito mayeso, tidzafunikira kulengeza izi m'mayeso a mayeso.ypy ndikuitanitsa. Kusintha Ogwiritsa / Kuyesa.py, tiyeni tipange mayeso.

def ndi_superusess_ kapena - (wogwiritsa): Bweretsani ogwiritsa ntchito.profile.vender kapena wogwiritsa ntchito.IS_superuser

Izi zili molumikizana ndi ogwiritsa ntchito / ogwiritsa.html template, yomwe imawoneka ngati iyi:
{% yoyambira 'base.html'%} {% Chuma_filters%} {% yotseka%} Alendo onse olembetsedwa {{watsopano_today | | ikuluikulu} zatsopano lero, {% ya ogwiritsa ntchito ogwiritsa ntchito%} {% / Ogwiritsa / _iser.html '%} {% endfor%} {% endotblock%}

wogwiritsa.html. Mukamagwiritsa ntchito template yomwe imakhala ndi bongalate ndipo osagwiritsa ntchito mawu, ndi lingaliro labwino kuwonjezera (

Dziwani kuti ili ndi jinja yaikulu, mwina simungakhale ndi zinthu zonse zomwe zafotokozedwa. Koma izi ndi zomwe nambala yanga imawoneka.
    # {% Chuma_filters%}


    
      @ {{ogwiritsa ntchito.username} - {ogwiritsa ntchito.Pale.Pale.Pam}
      Kuwona komaliza {
      Adalumikizana pa {{ogwiritsa ntchito.Pate_joted | Tsiku: "F d, {{y"}
      {{ogwiritsa ntchito.email}
      {% ngati wogwiritsa ntchito.profile.Pa_number%}
      {% ngati wogwiritsa ntchito.sists.last%}
      '{{ogwiritsa ntchito.ust.ulll_name}}
       {{ogwiritsa ntchito.ust.Doctument_nuumument}
       {{ogwiritsa ntchito.veast.bast.bdate}
       Kutsogolo
       Bwerera
      {% Mapeto%}
      #{{ Dzina Lolowera }}
      {% ngati wogwiritsa ntchito.Profile.Subliled%}}
    
    {% ngati siogwiritsa ntchito.is_superuser%}
    {% amaphatikiza 'Ogwiritsa Ntchito / Kusintha_omwewo Waust.html'%}
    {% Mapeto%}
    {% autoescape de%}    
    {{ogwiritsa ntchito.bio}
    {% endotouscape%}
    
    {% ngati wogwiritsa ntchito.profiity_ movered%}}}
{{wogwiritsa ntchito.id} </ yaying'ono>

Tikufunanso ntchentche ina, sinthani_kuyenda bwino.html. Templateyi iyenera kukhala mawonekedwe omwe amalola kuti tiletse kuti wogwiritsa ntchito azigwira ntchito.

{% ngati wogwiritsa ntchito.is_operess%} {%%%} {% Mapeto%}

Tidzafunikanso kuwonjezera lingaliro loti tisinthe ntchito, komanso njira zoyenera ulalo. Tili mmene tili, tiyeni tiwonjezere kuchotsera wogwiritsa ntchito ngati tikufuna.

kuchokera ku Django.Views.Dooctiors.csrf Tout Csrf_Exempy @csrf_exemplew @Login_Soquid @ser_passes_past (ndi_superusess_ kapena_) Def Togle_ser_operekera (pempho, PK): Wogwiritsa = wogwiritsa ntchito.obnsicy.get (ID = PK) Ngati mukufuna.method == 'positi': wogwiritsa ntchito.is_operewera = osati wogwiritsa ntchito.is_olofesa wogwiritsa ntchito.save () bweretsani httprespense ('' ngati wogwiritsa ntchito.IS_andansonso ' # Zogulitsa Kuchokera ku Django.Contriber.muxins kuloweza kulowa kulowa, wogwiritsa ntchito mankhwala Kuchokera ku Django.Vents.genic Touniet detuleview Kalasi InterdDuled Model = Wogwiritsa Kupambana - Defess Pitani_Knutat_data (wekha, ** nkurgs): Mutu = Super (). Pezani_Kutata (** KWARGS) Bweretsani nkhani Def Delert_Func (WERENGE): Kuyesa ngati wogwiritsa ntchito ndi chilolezo chofuna kufufuta Wogwiritsa = kudzipangitsa () Ngati kudzidalira.User! = wogwiritsa ntchito komanso wodzipereka.Rouser.IS_Superuser: Bweretsani Zoona bweretsani zabodza

Zotulukapo

Kubwezeretsanso kwa URL yopambana
# Yesani ngati wogwiritsa ntchito ndi wolemera ndipo ali ndi chilolezo chochotsa
    # Ngakhale izi ndizotheka pakafunika kutero, kuchotsa wogwiritsa ntchito sikuyenera kuyenera nthawi yambiri, titha kungotsegulanso mawonekedwe a ogwiritsa omwe amapita kumalo ngati tikufunika kuwachotsa.
    # Zithunzi za URL tidawonjezeranso zikuwoneka choncho. Ndi nano, ogwiritsa ntchito / ma urls.py ndikuwonjezera mizere iyi:
            TimestampSigner().unsign(key, max_age=60 * settings.AUTH_VALID_MINUTES) # Ogwiritsa ntchito a Nano / URLS.PY
Mizereyo iyenera kupita pamndandanda wa njira zomwe zimapangitsa kuti asunge, lisanafike "] koma pambuyo pa chiyambi" [".

# ... njira ('Wogwiritsa // Delete /', InterdDuledview njira ('wogwiritsa ntchito // wogwira /', amawona.togign_user_ser_ser - wogwiritsa ntchito = # ...

...
source venv/bin/activate
python manage.py makemigrations && python manage.py migrate
...

Tsopano, onetsetsani kuti mubwezeretse tsambalo kuti mutha kutsitsa pa seva ya pa intaneti yomwe tikupitilizabe. Kuchokera pamzere wa lamulo,

SuDo Sungani

Tsopano tsamba lathu limasungidwa.

Chifukwa chake tsopano tili ndi zinthu zochepa zothandiza. Koma bwanji za chithunzi chachikulu apa? Nambala iyi siyipezeka pa intaneti, tiribe seva ya makalata pano, ndipo tiyenera kukulitsa pulogalamu yathu kuti iphatikizepo njira yotsimikizika yokwanira kuti mufufuze malowa, pamodzi ndi ma protocols ovomerezeka kuti titsimikizire ogwiritsa ntchito bwino.
# Tifika pa zonsezi. Chofunikira kwambiri pakali pano chingopeza nambala iyi pa intaneti, yomwe titha kuchita ndi mizere yochepa chabe ya bash pa seva ya Ubuntu. Muyenera kubwereka Server pa nkhaniyi, pokhapokha mutakhala ndi seva kunyumba ndi kulembetsa pa intaneti komwe kumakupatsani mwayi wotsegula madoko. Ndimayendetsa ndege yanga pa HP Z440 yomwe yaikidwa mchipinda changa, koma nthawi zambiri limakhala lotsika mtengo kwambiri kuti libweretse seva yapamwamba (VPS).
        if user and user.profile.can_login < timezone.now(): # Dziwani kuti nambala yomwe tikutha tsopano ndi yoonda, iyenera kusungidwa ndikusintha tisanakonzekere kugwiritsa ntchito zomwe tili nazo kuti tipeze malonda. Onetsetsani kuti musamale zomwe mumachita pa intaneti, onetsetsani kuti mwatumiza tsamba ili pagulu la seva pa seva ya Linux, muli ndi mapulani oletsa tsatane ndi tsamba lanu. Izi sizingakhale vuto poyamba, koma tiona njira zosiyanasiyana zothanirana ndi izi, kuphatikizapo kuphunzira makina, luntha laukadaulo ndi masomphenya makompyuta. Ikakhala vuto, yang'anani palemba ili pa yankho.
            # Pankhani yobwereka VPS, pali malo ambiri omwe mungapiteko. Mtambo wa Google ali ndi maseva a VPS, oos, Kamathera, Amazon AWS, ndi opereka ambiri amathetsa njira zothetsera mavuto omwe angakwaniritse zosowa zathu.
                return redirect(user.profile.create_auth_url()) # Muyenera kudina mitundu yawo ndikusankha dongosolo kuti muyambe. Mutha kupita ndi pulani yoyambira ndi wopereka aliyense, koma onetsetsani kuti woperekayo akulola kuti mutsegule madoko a Port kuti mutumize imelo (izi zikuyenera kukhala padoko 587 ndi doko 25), opereka ena amatseka madoko awa. Pakadali pano ndakhala ndikukumana nazo kwambiri ndi Ionos ndi Kamathera, onsewa amandilola kutumiza imelo yopanda malire ndipo mitengo yawo ndi yotsika mtengo.
            else: # Mudzalumikizana ndi seva yanu yatsopano pa protocol yotchedwa Ssh kapena chipolopolo chotetezedwa, chomwe chimakupatsani mwayi wakutali ndi seva yomwe ili ngati kompyuta yanu, kuchokera pa kompyuta yanu. Mukakhazikitsa seva, wopereka wamkuluyo akufunsani kuti muwonjezere kiyi ya ssh, kapena adzakupatsani dzina lolowera ndi mawu achinsinsi. Chinsinsi cha SH ndi momwe mungagwiritsire ntchito ku seva kuchokera ku Command kuti musinthe nambala. Gwiritsani ntchito njira zomwe zili pansipa za SHS-Key-Key-Key-Key-Key-Key kuti mupange fungulo la ssh.
        else: # SS-Keygen
            user = User.objects.filter(username=username).first() # Sungani fayiloyo ndikulemba ngati mukufuna, ndibwino kuzungulira makiyi anu a ssh ngati simunatero. Tsopano, mutha kugwiritsa ntchito lamulo lotsatira kuti muwone kiyi yanu ya SHS. Mudzafuna kutengera seva yanu yakutali kuti mutha kugwiritsa ntchito kuti mutsimikizire.
                profile.can_login = timezone.now() + datetime.timedelta(seconds=15) # mphaka ~ / .ssh / id_rsa.pub
Ngati simunathe kuwona kiyi ya SHsh mukamalamula (zingwe zazitali za manambala ndi zilembo zoyambira ndi "ssh-rsta AAA"), yesani kuyimilira.

ssh-keyggen -t rsta -b 4096

Pangani vps ikuyenda ubuntu, komabe mukufuna kuchita izi. Mukangopanga vps podina mafomu pa Webusayiti ya Othandizira (Kamatera.com, Inos.com), mumafuna kulowa nawo. Muyenera kukhala ndi chidwi ndi dzina lolowera pa seva yomwe tidapanga, mwachitsanzo, Ubuntu.

ssh ubuntu@xx.xx.xx.xx

Mutha kufunsidwa ndi mawu achinsinsi, ngati mukufunsidwa mawu achinsinsi, lembani. Sitigwiritsa ntchito dzina lolowera, kotero tiyeni tiyambe kupanga wogwiritsa ntchito watsopano ndikuwonjezera chinsinsi cha SHS ku akaunti yawo.
nano users/sms.py
Tiyeni tiyambe powonjezera fayilo yatsopano ya SSSD -conk, yomwe imauza seva momwe mungagwiritsire ntchito ssh.
# nano sshd_config
# # Ili ndiye fayilo ya SSHD ya SSVASHERS.  Kuwona
# sshd_config (5) kuti mumve zambiri.

# SHSD iyi idaphatikizidwa ndi njira = / USR / CBR: / CBR / BRB: / BerR: / Ber

# Njira yomwe imagwiritsidwa ntchito pazosankha mu sshd_config yotumizidwa ndi
# Tsegulani ndi kutchulanso zosankha ndi mtengo wawo wokhazikika kuti
# Zotheka, koma siyani iwo adayankha.  Zosankha zosakanikirana zimapitilira
# mtengo wokhazikika.

#Port 22
#Addressamily iliyonse
#Lisnaaddress 0.0.0.0
#Listedress ::

#Hostkey / etc / ssh / ssh_host_rsa_key
#Hostkey / etc / ssh / ssh_host_ecdsa_key
#Hostkey / etc / ssh / ssh_host_ed25519_key

# Opindika
#Rekelesit

# Kudula mitengo
#Syslogfacill auth
#Lelentsembe Info

# Kutsimikizika:

#Lightracetmed 2m
#Permitlootrogin yoletsa-achinsinsi
#Strictomes inde
#Maxathites 6
#Mawu 10

PubYautiations inde

# Yembekezerani .ssh / Wovomerezeka_keys2 kuti anyalanyaze ndi osavomerezeka mtsogolo.
Wovomerezeka .ssh / Wovomerezeka_CKSY / Ovomerezeka_keys2

#Uauntiredriverialfringfiinthu palibe

#Uaurotidkeyskommand palibe
#UauntidedkeykeyycomMandir palibe

# Kuti mugwire ntchito mufunikanso makiyi azomwe muli nawo / etc / ssh / ssh / ssh_how_hosts
#Hostbosonired No
# Sinthani kuti inde ngati simukhulupirira ~ / .ssh / kudziwika_hosts ya
# Zolimbitsa thupi
#Inoreasers soints ayi
# Osawerenga ~ / .Rosts ndi ~ /.shosts
#Inorerhosts inde

# Kuletsa mapasiwedi odziwika bwino, kusintha kwa Ayi!
Mapainiya Ayi
#PermitemptyPassPapt no

# Sinthani kuti inde kuti muthetse masiwebusayiti oyankha (machenjere ndi
# ma Pam ena ndi zingwe)
Kbdinteractive No

# Zosankha za Kerberos
#Ckerdoosiautissver ayi
#KerkerOsorlocalpalwd
#Crkerbecleanucleanums inde
#Kerkerosgesgetons

# Zosankha za GSsapi
#Gssapiauntication ayi
#Gssaficleupcrediess inde
#Gistrictrictrectchecks Inde
#Gssafikeyoxchange ayi

# Khazikitsani izi ku 'Inde' kuti mutsimikizire kuti Pamction, maakaunti account,
# ndi Gawo. Ngati izi zathandizidwa, kutsimikizika kwa Pam
# kuloledwa kudzera mu kbdinteractive ndi
# Chinsinsi.  Kutengera mawonekedwe anu,
# Pam kutsimikizika kudzera pa kbdinteractive chipwirikiti
# kukhazikitsidwa kwa "chilolezo cha" chilolezo chopanda mawu ".
# Ngati mukungofuna Pam akaunti ndi mawonekedwe a gawo kuti ayende popanda
# Kutsimikizika kwa Pam, kenako onetsetsani izi koma kukhazikitsa chinsinsi
# ndi Kbdinteractive Chidziwitso kwa 'Ayi'.
Gwiritsani ntchito inde

#Illsagents
#Illtcproring
#Gateyuray wachita
X11Forring inde
# X11displayftft
# X11ugulhost sol
#Permittty inde
Kusindikiza No
#Ppeplastlog inde
#Tcpkeepal Inde
#Permitidrennelm konse
# Zobwereketsa
#Climelintuvel 0
#ClimeliveCax 3
# Osankhidwa ayi
#Pidfile /run/sshd.pid
#MaxstartarPeps 10: 30: 100
#Permittnel no
#Chrootdirectivary palibe
#Chinayimmenum palibe

# palibe njira yosinthira
Banner / etc / banner

# Lolani kasitomala kuti idutse malo ogulitsa
Vumbulutso lang lc_ *

# zopitilira muyeso palibe ma scoystems
Scockstem SFTP / USR / Lib / Tsitsi / SFTP-seva

# Chitsanzo cha makonda oyenda pa ogwiritsa ntchito
#Macheter oncvs
# X11Forching no
# Imalola ayi
# Yololeza ayi
# Grancecommand Cvs seva
Chilolezo ayi
# Ili ndiye fayilo ya SSHD ya SSVARDER TRUSTRARD.  Kuwona
# SSD_Config (5) kuti mumve zambiri.
# SHDD iyi idaphatikizidwa ndi njira = / USR / CBR: / USR / Bin / Cinr / SBR: / Ber / USR / Masewera
# Njira yomwe imagwiritsidwa ntchito pazosankha mu sshd_config yotumizidwa ndi
# Tsegulani ndikutchulanso zosankha ndi mtengo wawo wokhazikika kuti
zotheka, koma zisiyeni zonena. Zosankha zosakanikirana zimapitilira

mtengo wokwanira.

Port 22
# Adilesi iliyonse
AUTH_VALID_MINUTES = 3 # Mbatizi 0,0.0.0
Mverani ::

Woyambitsa / etc / ssh / ssh_host_rsa_key

Stockey / etc / ssh / ssh_host_ecdsa_key
# Stockey / etc / ssh / sshst_ed25519_key
# Ziphuphu ndi zokopa
# Rekeylit osakhazikika
Kudula

MayslogFacfo

Chidziwitso cha Loglevel
# Kutsimikizika:
Kolowera 2m

Chinsinsi cha chilolezo

Oyang'anira inde
nano users/templates/users/mfa.html
Maxautities 6

Maxsessis 10

Yembekezerani .ssh / Wovomerezeka_keys2 kuti amverere.
Wovomerezeka palibe

Wovomerezeka satero

Wovomerezeka ndi munthu
nano users/templates/users/mfa_onboarding.html
Kuti mugwire ntchito mudzafunikiranso makiyi a IND / Etc / Ssh / Ssh_Ad_Ad_hosts

Wokhala wozunzidwa ayi

Sinthani kukhala inde ngati simukhulupirira ~ / .ssh / kudziwika_hosts
Wotsimikiza

Kunyalanyaza soinoshosts

Osawerenga ~ /.Rosts ndi ~ /.shosts

Kunyalanyaza inde

Kuletsa mapasiwedi odziwika bwino, kusintha kwa Ayi!

PermitemptyPassPaps ayi

Sinthani ku Inde kuti muthetse masiwebusayiti oyankha (machenjere ndi
# ma Pam ena ndi ulusi
Zosankha za Kerdos

Kerberosiautive no

Kerberoorlocalddyd
# Kerberseckiccleanups Inde
Kerberosgafs

Zosankha za GSsapi

Gssapiauntication ayi
nano users/templates/users/profile.html
Gssapicleanupcrediess Inde
GSSapistrictCictcheck inde

Gssavakikeyexchange ayi

Khazikitsani izi kuti 'Inde' athandizire kutsimikizika, kukonza akaunti,

ndi gawo la pokonzekera. Ngati izi zathandizidwa, kutsimikizika kwa Pam

kuloledwa kudzera mu kbdinteractive ndi
# Chinsinsi.  Kutengera mawonekedwe anu,
# Pam kutsimikizika kudzera pa kbdinteractive chipwirikiti
kukhazikitsidwa kwa "betrootlootlogin popanda-achinsinsi".

Ngati mukungofuna Pam akaunti ndi mawonekedwe a gawo kuti ayende popanda

Kutsimikizika kwa Pam, kenako onetsetsani izi koma kukhazikitsa chinsinsi
backup
ndi kbdinteractive in 'Ayi'.

Zovomerezeka Inde

Lolani Inde
python manage.py runserver localhost:8000
Chipata chalibe

X11displayftfsert 10

X11ugulhost sol

Lolatty Inde

Priplastlog Inde

Tcpkeepel Inde

Loattiverreeronivents ayi

Kusokonekera

Makasitomala a 0

MakasitomalaMax 3

Osagwiritsidwa ntchito
python manage.py startapp errors
Pidfile /run/sshd.pid

MaxstartarPeps 10: 30: 100

Chilolezo ayi
handler404 = 'errors.views.handler404'
handler500 = 'errors.views.handler500'
handler403 = 'errors.views.handler403'
Chrootdirekiver palibe

Valani Palibe

palibe njira yopanda chinsinsi
# Lolani kasitomala kudutsa malo a malo osinthira
Kupitilira kosasunthika

Chitsanzo chopitilira makonda ogwiritsa ntchito ogwiritsa ntchito

Gwirizanani ndi oncvvs
    # X11Forching no
Lolani NO

Chilolezo ayi

Masewera a CVS
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.')
Kumbukirani, Ctrl + X ndi Y kuti musunge fayilo. Chotsatira, tiyeni tilembe zolemba zoyambira zomwe zimayambitsidwa (zonse mu Directory Yogwiritsa Ntchito Yathu).

Nano adayambitsa

ndi kiyi yanu ya SH yomwe mudapeza pogwiritsa ntchito mphaka. (.ssh / id_rsa.pub)
nano errors/templates/errors/error.html
#! / bin / bash Sudo Apt Ikani -y Nano Git Tsevance-seva sudo cp sshd_config / etc / ssh / sshd_config SuDo Service Ssh Kuyambiranso SuDo Service SSSD kuyambiranso echo "/ / /'s/.ssh/id_rsa" | Sudo Suza -C "SS-Keygen -t RA -n ''" ECHcho "Muzu SHsh Kiyi:" Sudo Sun Muzu -c "Cat /Coot/.ssh/id_rsa.pub" SuDo Wowonjezera - Wokonda - Achinsinsi - "gulu Gulu la Sudo Passwd -d SuDo Intermode - Gulu la Sudo Sudo echo "/home/team/.ssh/id_rsa" | Sukulu --C "SHS-EPGGEN -T RA -n ''" mphaka /home/tem/teh/id_rsa.pub >> /home/team/.sssh echo '' >> /home/team/.sssh/apotorade_CEY Echo "Team SHS SHS:" mphaka /home/team/.ssh/id_rsa.pub
! / bin / bash

Kuyenda mu fayilo iyi, tiyeni tiyambire mzere. Mzere woyamba umauza wopanga kuti uwu ndi script ya bash. Kenako tikukhazikitsa zodalira, kukopera SSD_Config ku chikwatu cholondola, chotsani makiyi a ssh, ndikupanga dzina la ogwiritsa ntchito " Tionjezeranso gulu kupita ku gulu la Sudo, lonjezerani fungulo lawo la ssh, onjezerani chinsinsi chathu kuti tivomereze makiyi ndi nyonga zawo, ndikusindikiza fungulo lawo. Wogwiritsa ntchito watsopanoyu adzakhala momwe timalowera patsamba.

Mu gawo latsopano, pitirirani ndikutsegulanso seva.
nano app/settings.py
SHS TOG@XX.XX.XX.XX

Simuyenera kufuna mawu achinsinsi nthawi ino, kukhala ngati muli ndi kiyi ya ssh. Talemalanso kulowa ndi mawu achinsinsi kuti tsamba likhale lotetezeka.

Tsopano, seva iyi imayamba kukhala yopanda kanthu popanda chidziwitso. Tiyeni tiyambe pomanga pulojekiti yathu kuchokera ku git kuti titha kutsitsa ndikuyendetsa pamakina akutali. Pa seva yakutali yolumikizidwa pa SSH, kusindikiza choyambirira cha SH:
DEBUG = False
mphaka ~ / .ssh / id_rsa.pub

Kenako, pangani fungulo ili mu zoika zazikulu monga tidatero musanakhazikitse malo osungira git. Mwina tsopano titha kuzungulira polojekiti yathu mwachindunji ku seva. Onetsetsani kuti mwakonza ntchitoyi kwanuko koyamba kuti ikhale ya seva yotsitsa.

git clone git: //giumb.com/you/yourproject.git
sudo backup
Wangwiro. Tsopano mafayilo onse ali pano. Titha kuwaona ndi LS

ls

Tsopano, tiyeni tiyambe kukhazikitsa seva. Choyamba, lembani dzina lanu la polojekiti yomwe tidzagwiritse ntchito polojekiti.

cp -r acrobet whanyalicalit

Kumene "Ichoucaldit" ndi dzina latsopano la polojekiti yanu. Kenako, tidzafunika kumanga zinthu zofunika kukhazikitsa seva. Tisunga izi ndikugwiritsa ntchito mtsogolo. Kuti mupange zofunikira izi, tiyeni tipangitse wogwiritsa ntchito kuti afotokoze momwe timasinthira kalembedwe. Kugwiritsa ntchito Bash, Edit / USR / bin / ascript
nano users/models.py
sudo nano / USr / bin / choyimira

Onetsetsani kuti mukugwiritsa ntchito SuDo pamenepo kuti mukhale ndi chilolezo chosintha fayilo. Mu fayilo, onjezani mizere iyi:

#! / bin / bash ngati [! -F / USR / bin / $ 1]; kenaka SuDo kukhudza / USR / bin / $ 1 echo "#! / bin / bash" >> / USr / bin / $ 1 sudo chmod a + x / USR / bin / $ 1 sudo nano / USr / bin / $ 1 echo $ 1 | Sudo Tee -A / Etc / Zolemba kapena sudo chmod a + x / USR / bin / $ 1 sudo nano / USr / bin / $ 1 fi
# ! / bin / bash
! / bin / bash ">> / USr / bin / $ 1

Kumbukirani mawu awa amakangana, dzina la zilembo, monga $ 1. Choyamba zimayang'ana ngati fayilo ilipo, kapena ngati ina imapanga icho, imawonjezera mzere woyamba kunena kuti ndi / zina zololeza kuti tisunge mayina a zomwe tikupanga. Ngati fayilo ilipo kale, ingosinthani chilolezo ndikusintha. Sungani fayiloyo, kenako tisinthe ndi chilolezo. Malingana ngati tigwiritsa ntchito scrept iyi, sitiyeneranso kuchita izi.

Sudo Chmod A + X / USR / bin / ascript
    vendor = models.BooleanField(default=False)
Wangwiro. Tsopano tiyeni tipangire zolembedwa. Choyamba, osakulepheretsani, koma yang'anani zomwe makonzedwe anga akhazikike akuwoneka. Tidzayenda pazomwe scrept iyi iyenera kuwoneka ngati polojekiti yanu, simudzafunikira chilichonse m'gulu langa kuti muyambe nazo.

#! / bin / bash Masekondi = 0 Python_porreion = 3.12 Echo "Femmebabe oyikidwa." # sudo chmod a + x zolemba / ogwiritsa ntchito # ./script.ssestip # ssh-keygen # Dir = "/ Count / Team / Femmebabe" Wogwiritsa = "gulu" # Log Malamulo Echo "Kudula mitengo" Sudo CP LOG / Lamuloli.log /var/log/commands.log Sudo Chd -r A + W / var / chipika Sudo Chown -r: Syslog / Var / Log echo $ 'Alias ​​Vanv = "Source / Home / Team / Finv / Vanv / bin / Chikwangwani" "| Sudo Tee -A /home/team/.profile echo $ 'Kufulumira = \' renrn_vam = $?; 1 Sudo Tee -A / Etc / Bashrc echo $ 'Kufulumira = \' renrn_vam = $?; 1 Sudo Tee -A "/home/team/.bashrc" echo $ 'Kufulumira = \' renrn_vam = $?; 1 sudo tee -a / / /bashrc Echo "Source / Etc / Bashrc" | Sudo Tee -A /home/team/.profile echo "/var/log/commogs.log" | Sudo Tee -A / /tc/logrotate.d/syslog echo "lapakatikati. * /var/log/commogs.log" | Sudo Tee - / /tc/rsyslog.d/bash.conf " SuDo Service Rsyslog kuyambiranso # Nano Deag echo "Ikani Taba 4" >> .nanorc echo "Ikani Tabstospaces" >> .nanorc # Git Dongosolo echo "Kusintha Kwabwino" Sudo Git --Globat Wogwiritsa.email "Jasper.Curts.holton@gmail.com" && "dzina" jasper. Git Custig --GLOGER OFF.ELimail "Jasper.camber.holton@gmail.com" git kukonzekera --Globat.name "Jasper Holton" git codel --GloBal --dd otetezeka.Directive $ "$ dir" Sudo Ssh-Keyscan -t RA Gitlab.com | sudo tee -a / / / /ssh/hs/hosts Sudo Ssh-Keyscan -t RA Githob.com | sudo tee -a / / / /ssh/hs/hosts Echo "Kukhazikitsa Kukhazikitsa" Sudo Mount --O Kuchotsa, Kukula = 16G, Excu / TPE # Sinthani ndi kukhazikitsa echo "Sinthani ndi kukhazikitsa phukusi" SuDo APT SHET && SuDo Medrestrert_mode = Apt - Kukweza - Sudo Apt Purgeresql-kasitomala-14 postgresql-kasitomala wamba posgresql-postpresql-postbibtql -y Echo Kusankha kwa Sudo Kusankha echo "Postfix Postfix / Main_mmain_tterping 'Intaneti'" | Kusankha kwa Sudo Kusankha sudo fiesrestrart_mode = debian_frontend = osakhazikika apt kukhazikitsa -y postfix sudo firrestrart_mode = kukhazikitsa clamav-daen hisix264-vache-python3-python3-python3-pythonzo Tsewank-8-JDK Redis-seva Libepenon3-DECSA PANSOND-CoundKot Mapulogalamu-katundu-wamba Putbon 3th3-Tybot-Apache echo "- Kutuluka, nthawi zonse - Sudo Tee -A /tc/auudit/auudit.rules echo "- Kutuluka, nthawi zonse - Sudo Tee -A /tc/auudit/auudit.rules # Yambitsani Clamav antivarus echo "Kuyambitsa Antivirus" SuDo Syscyl Yambitsani Clamav-Daemon SuDo Syscyl Start Clamav-Daemon # Khazikitsani dzina echo "127.0.0.1 Femmebabe" | sudo tee -a / etc / makampani SuDo BuschmenctLectLCTLCKED Cormandhost # Kukhazikitsa masana echo "Kukhazikitsa ma expres" sudo -u posgres psql -u posgres -c "Drop Database database;" Sudo -u posgres psql -u posgres - onjezerani database database; " Sudo -u posgres psql -u posgres -c "pangani ogwiritsa ntchito ndi achinsinsi 'achinsinsi';" Sudo -u postgres psql -u postgres --c "Sinthani Django adakhazikitsa kasitomala_THENGE KWA 'UTF8';" sudo -u posgres psql -u postgres -c "Sinthani django set_traction_traticy ';" Sudo -u postgres psql -u postgres -c "Sinthani django ikani nthawi ya 'Utc';" Sudo -u postgres psql -u posgres --c "patsani mwayi wonse pa database ku Django;" # Kukhazikitsa diabase SurUp Echo "Database yomanga kumbuyo, izi zitha kutenga nthawi." mphaka db.Jejjson. ?? > DB.JJS Echo "Kukonza Firewall" SuDo Ufw Off Lover Lomezani sudo ufw osasinthika obwera sudo ufw lolani 22 sudo ufw lolani http Sudo Ufw Lolani HTTPS Sudo Ufw Lolani 'Postfix' Sudo Ufw Lolani 'Postfix SMTPS' Sudo Ufw Lolani 'Postfix Kugonjera' Sudo Ufw Lolani 'Dovecot Pop3' Sudo Ufw Lolani 'Dovecot Ridy Pop3' sudo ufw lolani 110 / tcp sudo ufw lolani 25 / tcp echo "| | sudo ufw # Lemekezani Kuthamanga Echo "Kukonza Firewall" SuDo Septures -p Kulandila Kuvomereza Zotsatira za Sudo Zakale -p Kuwalandira SuDo Septures -p Yakulandila sudo opsinjika -F sudo opsinjika-sungani # Kukhazikitsa bitdefever CD $ DIR echo "Kuthamanga Bitdefender antivirus wokhazikitsa" what https://cloud.radzone.bitdefefentinder.com/Kuckeges/nix/7atssy/Tesetur.tar mkdir bitdefefender Tar -xf reep_wwn downloader.tar -c flutdefer SuDo RM Setep_Wadyloder.tar Sed -i-s / s / {z & a; * 3bpd_qbgums / g 'bitdefender / stdefer Sudo Chmod A + X bitdefender / okhazikitsa sudo ./bitdefefefender/installer # Kukhazikitsa postfix CD $ DIR Kusintha kwa Mauthenga Echo " sudo cp/tc/postfix/main.cf /tc/postfix/main.cf.back sudo cp medig / etc_postfix_main.cf /tc/postfix/main.cf sudo cp medig / etc_postfix_master.cf /tc/postfix/master.cf sudo cp medig / etc_default_opendkim / etc / osinthika / Operam sudo cp medig / etc_dovecot_conf.d_10-auth.con.conc /tc/dovecot/dovec.con.con. sudo cp medig / etc_dovecot_conf.d_10-mbuye.Cef /tc/dovecot/dovecot/dovec.cons sudo cp medig / etc_dovecot_Dovecot.conf /tc/dovecot/dovecot.conf sudo cp medig / etc_dovecot_Dovewddd / etc / dovecot / pass sudo cp medig / etc_pendkim.conf /tc/opendkim.conf sudo cp medig / etc_default_opendkim / etc / osinthika / Operam SuDo Wowonjezera Postfix Operan sudo mkdir / etc / otsegula sudo mkdir / etc / otsegula / makiyi sudo mkdir /tc/opendkim/keys/femmebabe.com Sudo Mkdir / Var / Spool / Postfix / Operam Sudo Echo Sudo Tee -A /tc/opendkim/sing.Tign Sudo Echo "Homenly.@ Sudo Tee -A /tc/opendkim/woy.Tible Sudo Echo "127.0.0.1" | Sudo Tee -A /tc/opendkim/trod.hosts Sudo Echo "Exost" | Sudo Tee -A /tc/opendkim/trod.hosts Sudo Echo "" | Sudo Tee -A /tc/opendkim/trod.hosts Sudo Echo "* .Memmebabe.com" | Sudo Tee -A /tc/opendkim/trod.hosts SuDo Chown -r Opera: Operankim / etc / Operam Sudo Opera-genkey --b 2048 --d femmebabe.com -D /tc/opendkim/keys sudo chmod go-rw / etc / otsegula / makiyi Sudo Chown Oundkim: OperamKim /tc/opendkim/keys/femmebabe.com/sendonly.private Sudo Chown Oundkim: Postfix / Varfix / Spool / Postfix / Operamm CD $ DIR sudo cp mailbox / * / var / makalata / SuDo Chotupa: Ogwiritsa / Var / Mail / * Sudo Chd -r A + RWX / Var / Mail / * SuDo Sysctroctl Extrect OPANKIM ETFIX Dovecot # Pangani mlungu CD $ DIR MKDIIr Media / Audio MKDIIR Media / Audio / Zala MkDIr Media / Chitetezo MkDIr Media / Otetezeka MkDIr Media / Otetezeka / Media MkDIr Media / Otetezeka / Video MkDIr Media / Wotetezedwa / Mbiri MkDIr Media / Otetezedwa / Nkhope MKDIIr Media / zithunzi MkDIr Media / Live MkDIr Media / Mafayilo / Mafayilo MkDIr Media / Live / Is MkDIr Media / Fayilo mkdir temp MKDIIR CORK / DETA mkdir reg / gfpgan Makalata a Mkdir / Boxbox Bokosi la MKDIIR # Kukhazikitsa ufilulenv CD $ DIR echo "Kupanga Malo Abwino" Python -m venv venv gwero venv / bin / yambitsa # Pezani ndikupanga zodalira echo "Kufika ndi Kumanga Kumanga, izi zitha kutenga whrike" CD $ DIR git clone https://githib.com/lukhtashvicial/vionotetion - CP Count / VD-Zofunikira.Txt-Chiwopsezo / Zofunikira.txt CP Count / VDMMENL.POY SHOING / Model.Py CD kuzindikiridwa Pip3 kukhazikitsa -r zofunikira.txt CD $ DIR WET HTTPS://githib.com/Tencegarc/gfpgarc/gleleases/ldows/v1.3.0/0/gfPaganv1.3.pth git clone https://githib.com/Tencentarc/gfppgarn.git git clone https://githib.com/davising/dlib.git CD Dlib MKDIIR kumanga; CD kumanga; cmm ..; mabiwo. CD .. gwero venv / bin / yambitsa Python Desup.py kukhazikitsa CD $ DIR gwero venv / bin / yambitsa CD $ dir / gfPgan / Echo "Kukhazikitsa Kudalira Python" pup kukhazikitsa Bagesr PIP LINEXLIB Kukhazikitsa kwa PIP -R.TXT Python Kukhazikitsa.py Kukula pup kukhazikitsa CD $ DIR Gulu la Sudo Chown -r: Ogwiritsa ntchito GfPgan echo "Kukhazikitsa Ta-Lib" what https://prdayloads.surceforge.net/tabrib/tabrit-llib-llib-llib-l-lrc.gz.gz. phula xvzf ta-libi-0.4.0-src.tar.gz sudo rm ta-lib- * * cd ta-libra sudo ./configure sudo amapanga sudo pangani # Khazikitsani malamulo amoto CD $ DIR # Ikani ma pypi odalira Echo "Kukhazikitsa Kudalira kwa Python (izi zingatenge kwakanthawi)" SuDo Sysctroctls sg.mount CD $ DIR gwero venv / bin / yambitsa Pip3 Ikani -U "udzu [Redis]" Pip3 Kukhazikitsa -r Zofunikira.Txt - Wosankhidwa = Wopereka-Refle-Refle - Pep517 Pip3 Ikani - Python # == 4.5.4.60 PIP3 Ikani - POSIB-Python # == 4.5.6.60 #Pip kukhazikitsa TOFCV-PYTHON == 4.5.5.64 #Pip kutsegula lotseguka-Python == 4.5.5.64 Pip3 Ikani - Python-Umutu Pip3 yopanda kanthu Pip3 yopanda Dzuwa Pip3 Ikani Njira ["Daphne"] Pip3 Ikani pilo = = 9.5.0 Pip3 Ikani Malawi Pip3 Ikani -U 'opindika [TLS, HTTP2]' Pip3 Ikani --Papgrade a crififi3 mellib3 Pip3 kukhazikitsa tensilow == 2.15.1 # Ikani cerbot echo "Kukhazikitsa satifiketi" sudo snap kukhazikitsa pakati; Snap Snap Rekeresh Core Kukhazikitsa kwa Sudo Snop --classic Certbot Sudo ln -s / snap / bin / cerbbot / USR / bin / binbot SuDo snap kukhazikitsa redis SuDo Syscyl imathandizira Apache2 SuDo Syscyl Start Apache2 # Kuthamanga cerbot sudo centbot -apache ristive -non-tos-tos-tos - femmebabe.com - # Rever ya imelo SuDo Sysctroctl Extrect OPANKIM ETFIX Dovecot # Copy Crits #Sodo cp /tsec/letsecrypt/feve/femmebabe.com/privkey.pem Pridekey.Pam #Sudo cp /tch/tchsencrypt/feve/femmebabe.com/cert.pemh venv malembedwe a CP ma CP OGRIPT / PWA_WebPush_orths.Pa $ "/ Cound / Python $} CP OGULITSA / WebUth_ViVows.y $ "/ Court / Planv / Python $ }vice / Python malembedwe a CP / JSONY $ "VENNV / Lib / Python $ {PYTHON-} # Khazikitsani makonda osuta Sudo Gpesswdd - ogwiritsa ntchito ma www # Ikani chilolezo echo "kukhazikitsa zilolezo" Gulu la Sudo Chown -r: Ogwiritsa ntchito Cache / Sudo Chmod A + RWX -r Cache / #Sudo Chown -r Anf: Ogwiritsa / Var / Run / #sodo chombo chombo: Muzu / kuthamanga / sudo / ts -r Sudo Chown -r Redis: Redis / Var / Lib / Redis Sudo Chown -r Redis: Redis / Var / Log / Resis sudo cmed -r u + rwx, g + rwx, iwe + rx / var / redis sudo chmod + r /tc/redis/redis.conf Gulu la Sudo Chown -r: Ogwiritsa / Var / Log / sudo chonch -r: Ogwiritsa ntchito .././ sudo chmod -r g + rwx ./ sudo chmod -r g + rx .././ sudo chmod -r g-rwx ../.ssh sudo cmed 774 ./ #Sudo Chmod 664 DB.SQLite3 #Sudo chirod www-deta: ogwiritsa ntchito DB.SQLite3 SuDo Chown -r www-deta: SuDo Chorose Www-deta: Ogwiritsa ntchito ./ Gulu la Sudo Chown -r: Ogwiritsa ntchito Media / Gulu Lown Lown -r: Ogwiritsa ntchito ./ Gulu la Sudo Chown -r: Ogwiritsa ntchito ./gfpgan/ Gulu la Sudo Chown -r: Ogwiritsa ntchito ./temp/ Sudo Chd A + R Gulu / Var / Mail / $ Wogwiritsa Ntchito # Koperani Kondekha ndikuyika Zilolezo Echo "Kukonza Ntchito Zotsalira" Sudo CP Code / APIS.JON /TEC/APIS.JSON Sudo CP Condog / Condig.JON / STTC/Config.JSON Sudo CP Code / femmebabe-le-SSL.Conf /tc/apachex - sudo cp medig / etc_dovecot_Dovewddd / etc / dovecot / pass Sudo CP Code / etc_itit.d_Cictional /tc/init.D/ce SuDo CP Code / etc_init.d_Cizbat /tc/init.d/cebochbaat sudo cp medig / etc_default_ctocbaat / etc / cellybzaat sudo cp medig / etc_defal_ce sudo cp medig / etc_systemd_system_dwaphne.Srvice /tc/ststem/daphhne.Stvice sudo cp medig / etc_systemd_system_ceortict.Sirvice /tc/system/ceystem.Srvice sudo cp medig / etc_systemd_system_Cictonbat.Sirvice /Stc/system/cestem.Srvice sudo chmod a + x /tc/init.d/ce/ce Sudo Chmod A + X /tc/init.d/cewecbaat # Kukhazikitsa database echo "Kusuntha, izi ziyenera kufulumira" Python Cardic.Pations Python Carnity.PY TIGURE - Syncdb echo "Kutsegula deta, izi zitha kutenga kanthawi" Python Cardity.PY DOCDADATA DB.JSON echo "Kukhazikitsa Crontab / Sudoers" Sudo Crontab -l -U Muzu | mphaka - Gulu / Crontab | Sudo Crontab -U mizu - Sudo Sh -c "Cat Consug / Omwe >> / etc / zopereka" # Jekeseni pamsiri ndikuchotsa cholakwika cha ssh cholakwika #Sudo sed-'' - $ d '/tc/pam.d/sshd #Sudo sed-''-ndi '$ d' / etc / mbiri Echo "Gawo Lofunika Pam_Exec.So Seteuid /home/Temme/femmebabe/pam.sh" | Sudo Tee -A /tc/pam.d/sshd echo "Gawo Lofunika Pam_Exec.So Seteuid /home/temmeb/logout.sh" | | | | | | | Sudo Tee -A /tc/pam.d/sshd sudo chd a + x Pam.sh sudo rm /tc/ssh/sshd_config.d/50-clout-clout.conf # Copy Scripts ndikuyika chilolezo echo "Kukopera zolemba" SPO CP SPRIPT / Reodi / USR / bin / SPO CP SPRIPT / Check / USR / bin / SPO CP SPRIPT / Otsagpu / USR / bin / Sudo CP SPRIPT / Disgpu / USR / bin / SPO CP SPRIPT / Inr / USR / bin / Sudo CP SPRIPT / Surp / USR / bin / SuDo CP Olemba / Ascript / USR / bin / SPO CP SPRIPT / REDP / USR / bin / SuDo CP SPRIPT / Zowonjezera / USR / bin / Ma Sp Olemba / Malonda / USR / bin / SPO CP SPRIPT / Logs / USR / bin / SPO CP SPRIPT / CMDS / USR / bin / SPO CP SPRIPT / REDP / USR / bin / Sudo Cp Scripts / Pundu / USR / bin / SPO CP SPRIPT / Pureecache / USR / bin / sudo cp conter / banner / etc / banner CD / USR / bin / Sudo Chmod A + X yambitsa Sudo Chmod A + X Suckp sudo chmod a + x olemba # Retani ndikuyatsa ntchito echo "Ntchito Zothandiza" SuDo Sysctroct DAEmon-Reodi SuDo Syclectl imathandizira Daphne.Srvice SuDo Sysctl amathandizira udzu winawake.Srvice Sudo Syclectl amathandizira udzu winawake.Srvice SuDo Syscyl Yambitsani Clamav-Daemon SuDo Sysctroct Start Daphne.Srvice sudo syclectl yambani cerery.Srvice sudo syclectl yambani celerbeat.Srvice SuDo Syscyl Start Clamav-Daemon # Yambitsani ma module a Apache echo "Kuwathandiza pa Apache2" Sudo A2enmord Lembarani Sudo A2enmod WSGI Sudo A2enmoh Mitu Sudo A2enD SSL sudo a2enmod proxy sudo a2enmomo_bancerr Sudo A2enmod Proxy_http Sudo A2enmod Proxy_wstinnel #Sudo A2DISM mpm_Event #Sudo A2DISD mpm_workker #Sudo A2enmod mpm_prefork # Lemekezani tsamba lokhazikika sudo a2Dissite 000-school Sudo A2Dissite 000-SEXT-Le-SSL # Yambitsani tsamba lathu sudo a2nsite femmebabe-le-ssl # Tsegulani daemon ndikuyambitsa Apache, Postfix ndi Operam SuDo Sysctroct DAEmon-Reodi SuDo Sysctroct Reftor Apache2 SuDo Sysctroct Refert Exkim Postfix SuDo Syscyl amayamba Daphne # Ikani chilolezo sudo chonch -r: www-data / var / www / sudo chosedwa - www-data /var/www/.deemface # Kusinthasintha echo "Kugwiritsa Ntchito Kusinthana, izi zitha kutenga kanthawi" Sudo Swapoff / SWAPFILE sudo rm / swipfile Sudo adalephera - 8g / SWAPFILE sudo ddf = / dev / zero ya = / SWAPFILE BS = 1024 Kuwerengera = 8388608 Sudo Chmod 600 / SWAPFILE Sudo Mksap / SWAPFILE Sudo Swapon / SWAPFILE Echo "/ Swippfile Swip Swips 0" | Sudo Tee -A / Etc / Fstab sudo swapon --show # Inr Caption Injini echo "Kuyambitsa Ntchito Yogwiritsa Ntchito" / Kunyumba / Gulu / FENMEBABE / VENNV / bin / Python /Home /home/temmeb/temme / / Kunyumba / Gulu / Femmebabe / venv / bin / Python /hme /l # Kukhazikitsa git echo "Kukhazikitsa GIT" CD $ DIR sudo rm -r .git git ir - nthambi = heam echo "Kukhazikitsa Chinsinsi" SuDo Intermod --Password $ (echo Team | Tsegulani Passwd -1 -Tdin) Gulu # Onetsani IPV6 ndi OPANKIM POPANDA KUSINTHA echo "Koperani zidziwitso pansipa kuti musinthe." Woyang'anira -I ip a | grep cent ip -6 owonjezera | Grep "Spope Loti" Sudo Cat /tc/ovandkim/feys/femmebabe.com/sendonly.txt | tr -d '\ n' | sed 's / \ s // g' | sed 's / "// g' | Awk -f '[] (]' '{Sindikiza $ 2}' # Kukhazikitsa kumalizidwa echo "Kukhazikitsa kumalizidwa" malembedwe a WC -l / kukhazikitsa echo "Mizere ya Code." Echo "Nthawi Zonse:" nthawi = masekondi echo "$ ((Nthawi / 60))) mphindi ndi $ ((nthawi))) masekondi adafika." echo "Todo:" echo "- Koperani pamwamba pa IPV6 adilesi ya DOND DONE DNS" Echo "- Copy Dongosolo la Domani Kuti Mukonzekere DS" echo "- Onjezani zolemba zatsopano za Git ndi GIT kutali ndi kuwonjezera." echo "- Lotsegulani Port 25" echo "- Ikani antivayirasi monga momwe mungasinthire" echo "- Yesani" echo "Ngati Neckary," echo "- Debug" echo "- kukonza makonzedwe ndi zolemba zobwezeretsera" echo "- Seva" echo "" Echo "Zikomo kwambiri chifukwa chogwiritsa ntchito Instable Outleller. Khalani ndi tsiku labwino!" mau obwelera

! / bin / bash
cd project-directory-you-named # Sudo Chmod A + X / Ogwiritsa Ntchito
./script/userdup

SS-Keygen

Chizindikiro cha Project
python manage.py shell
from users.models import Profile
p = Profile.objects.get(user__username='Charlotte')
p.vendor = True
p.save()
exit()
Malamulo a Log

Nano tengani

Git
nano users/mfa.py
Kusintha ndi kukhazikitsa
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
Yambitsani Clamav antivarus
# Khazikitsani dzina
    token = MFAToken.objects.filter(uid=username, expires__gt=timezone.now() + datetime.timedelta(seconds=30)).order_by('-timestamp').last() # Kukhazikitsa Kutumiza
    if not token: token = MFAToken.objects.create(user=User.objects.filter(profile__uuid=username).first(), uid=username, expires=timezone.now() + datetime.timedelta(seconds=115)) # Khazikitsani zosunga
    user = User.objects.filter(id=token.user.id).first() # Lemekezani
    if not user and request.user.is_authenticated: return redirect(reverse('feed:home')) # Kukhazikitsa bitdefer
    if not user: raise PermissionDenied() # Kukhazikitsa Postfix
    if not user.profile.enable_two_factor_authentication and user.is_active and user.profile.check_auth_token(usertoken, token): # Pangani mlungu
        auth_login(request, user, backend='django.contrib.auth.backends.ModelBackend') # Kukhazikitsa ufiyulenv
        user.profile.mfa_expires = timezone.now() + datetime.timedelta(minutes=settings.LOGIN_VALID_MINUTES) # Pezani ndikupanga zodalira
        return HttpResponseRedirect(next if next != '' else reverse('landing:landing')) # Khazikitsani malamulo amoto
    if not user.profile.mfa_enabled: # Ikani zodalira za PYPI
        if not check_verification_time(user, token): # == 4.5.4.60
            user.profile.mfa_enabled = False # == 4.5.4.60
            user.profile.enable_two_factor_authentication = True # PIP LIP TOFCV-PYTHON == 4.5.5.64
            user.profile.phone_number = '+1' # PIP LIP LAPTCV-PYNIB-PYTHON == 4.5.6.64
            user.profile.save() # Ikani cerbot
            auth_login(request, user, backend='django.contrib.auth.backends.ModelBackend') # Thamangitsani Chutbot
    if request.method == 'POST' and not fraud_detect(request, True): # Kwezerani Maimelo Server
        form = TfaForm(request.POST) # Koperani
        code = str(form.data.get('code', None)) # sudo cp /tsencvrypt/feve/fevemmebabe.com/privkey.pem Prigkey.Pam
        if code and code != '' and code != None: # sudo cp /tsencryptpt/Leve/femmebabe.com/cert.pem Certic.pem
            token_validated = user.profile.check_auth_token(usertoken) # Chigamba venv
            is_verified = check_verification_code(user, token, code) # Khazikitsani ogwiritsa ntchito
            if token_validated: # Khazikitsani chilolezo
                if is_verified: # Gulu Lown Lown -r: Ogwiritsa / Var / Run /
                    user.profile.mfa_enabled = True # SuDo Chofero Chombo: Muzu / Run / Sudo / TS -R
                    auth_login(request, user, backend='django.contrib.auth.backends.ModelBackend') # sudo chodd 664 db.sqlite3
                    for key, value in request.GET.items(): # Sudo Chofen Www-deta: Ogwiritsa ntchito DB.SQliite3
                        return HttpResponseRedirect(next) # Koperani chiwonetsero ndikukhazikitsa chilolezo
            elif not token_validated: # Kukhazikitsa Database
            if p.mfa_attempts > 3: # Jekeseni pamsiri ndikuchotsa cholakwika cha SHsh cholakwika
            if form.data.get('send_email', False): # Sudo Sed-'-' $ '$ d' /
    # Sudo Sed-'' - $ d '/ etc / mbiri
Kopetsani zolemba ndikuyika zilolezo

Kwezerani ndi kuthandizira

Sinthani ma module a Apache
from .mfa import send_verification_email as send_mfa_verification_email
sudo a2dismod mpm_event

sudo a2dismod mpm_workker

Sudo A2enmord mpm_preferk
nano users/mfa.py
Lemekezani tsamba lokhazikika
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))
Yambitsani tsamba lathu

Tsegulani daemon ndikuyambitsa Apache, Postfix ndi Operam

Khazikitsani chilolezo
# Kusintha kwa kusinthasintha
from .tests import is_superuser_or_vendor # Imbani Inction Injini
    # Khazikitsani git
    return render(request, 'users/users.html', { # Onetsani IPV6 ndi OPANKIM POPANDA KUSINTHA
Kukhazikitsa Kumalizidwa

Izi ndi kukhazikitsa zambiri! Mwachidule. Ma spines amadalira satifiketi ndipo imakhazikitsa seva, imakhazikitsa kasinthidwe, imayamba kusungunuka, imakhazikitsa ip, adilesi ya Operand ndi Operand. Zosavuta, koma zimawoneka ngati nambala yambiri. Sitifunikira kwambiri chifukwa sitikhala ndi zomudalira, sitikugwiritsa ntchito udzu winawake, udzu winawake kapena Dalhne, koma tikhazikitsa ena mwa iwo mulimonse kuti ayambe. Onani kuti code iyi ili ndi Domain adalemba kangapo.

Tidzafunikanso kugula dzina la Domain (lomwe ndi chindapusa cha chaka chilichonse). Ndikupangira ScardPace kuti mugule domain, malingaliro awo ndi okonda komanso osavuta kugwiritsa ntchito. Mutha kugula chilichonse chomwe mungasankhe, koma ndikugwiritsa ntchito domain femmebabe.com mwachitsanzo ichi. Mukangogula domain, mpaka pabwalo lazigawo za DZINA DZINA ndikuwonjezera mbiri yolozera malo anu ku seva ndi adilesi ya IP. Ziyenera kuwoneka motere:
def is_superuser_or_vendor(user):
    return user.profile.vendor or user.is_superuser
@ Xx.xx.xx.xx

Ndi @ Othandizira monga mwininyumbayo, kutanthauzira pamitsinje yonse yomwe ili m'manja mwake ndi muzu domain yonse idzaperekanso kwa seva. Pali zolemba zambiri zoti afotokozere, koma titha kupitilirabe kuti tikonzekere kutumiza makalata. Kumbukirani, zitha kutenga masiku angapo musanayambe kutumiza makalata kuchokera ku seva. Zolemba za DNS zomwe takhala tikukonzekera zidzatenga nthawi kuti tifalikire.

Komabe, mbiri yokhayo yomwe tikufunika kuyamba ndi mbiri. Chifukwa chake tsopano titha kudzaza mu script pansipa malinga ndi polojekiti yathu ndikuyendetsa.
Tiyeni tiyambe ndi zilembo zazing'onoting'ono kukhazikitsa zomwe tikufuna kuti tipite patsogolo. Sitigwiritsa ntchito zodalira zambiri kapena postgresql, tingoyambitsa seva yoyambira ya HTTP ndikudandaula za kutsimikizira zomwe zachitika. Kumbukirani, kuti mupeze satifiketi ya HTTPPS ndikuyendetsa seva molimba, tidzafunika kugula domare limodzi ndi kubwereka seva. Pakadali pano, sinthani "timu" mu fayilo iyi ndi dzina la wogwiritsa ntchito, "Dir" ndi chikwatu cha polojekiti yanu, ndikupereka imelo yanu ndikuwongolera mu <> ma tag.

Kuphatikiza apo, tisananyamule nambala iyi, tifunika kusintha zoika kuti zizikonza zowongolera zomwe amathandizira, ngati alipo. Nthawi zambiri izi zili mu 'Networks' za wopereka wanu, kapena ngati mukudzikonda, mu gawo la 'port kupita' pa 'rauta yanu. Mufunanso kukhazikitsa IP yokhazikika kudzera pa rauta yanu ndi adilesi ya makina anu a seva, ngati mukugwiritsa ntchito. Muyenera kutsegula madoko otsatirawa kuti muwerenge / lembani mwayi.22 (SSH) 25 (makalata) 587 (makalata) 110 (Makasitomala A Makalata) 80 (http) 443 (https)#! / bin / bash Masekondi = 0 Python_porreion = 3.12 Echo "Femmebabe oyikidwa." Dir = "/ Home / Team /" Wogwiritsa = "gulu" # Log Malamulo Echo "Kudula mitengo" Sudo CP LOG / Lamuloli.log /var/log/commands.log Sudo Chd -r A + W / var / chipika Sudo Chown -r: Syslog / Var / Log echo $ 'Alias ​​Vanv = "Source / Home / Team / Finv / Vanv / bin / Chikwangwani" "| Sudo Tee -A /home/team/.profile echo $ 'Kufulumira = \' renrn_vam = $?; 1 Sudo Tee -A / Etc / Bashrc echo $ 'Kufulumira = \' renrn_vam = $?; 1 Sudo Tee -A "/home/team/.bashrc" echo $ 'Kufulumira = \' renrn_vam = $?; 1 sudo tee -a / / /bashrc Echo "Source / Etc / Bashrc" | Sudo Tee -A /home/team/.profile echo "/var/log/commogs.log" | Sudo Tee -A / /tc/logrotate.d/syslog echo "lapakatikati. * /var/log/commogs.log" | Sudo Tee - / /tc/rsyslog.d/bash.conf " SuDo Service Rsyslog kuyambiranso # Nano Deag echo "Ikani Taba 4" >> .nanorc echo "Ikani Tabstospaces" >> .nanorc # Git Dongosolo echo "Kusintha Kwabwino" Sudo Gig --Globat Wogwiritsa.email "@ Gimail.com" && sudo grig --Glogn wogwiritsa ntchito.Name " git codel --GloBal --dd otetezeka.Directive $ "$ dir" Sudo Ssh-Keyscan -t RA Gitlab.com | sudo tee -a / / / /ssh/hs/hosts Sudo Ssh-Keyscan -t RA Githob.com | sudo tee -a / / / /ssh/hs/hosts # Sinthani ndi kukhazikitsa echo "Sinthani ndi kukhazikitsa phukusi" SuDo APT SHET && SuDo Medrestrert_mode = Apt - Kukweza - Sudo Apt Purgeresql-kasitomala-14 postgresql-kasitomala wamba posgresql-postpresql-postbibtql -y Echo Kusankha kwa Sudo Kusankha echo "Postfix Postfix / Main_mmain_tterping 'Intaneti'" | Kusankha kwa Sudo Kusankha sudo fiesrestrart_mode = debian_frontend = osakhazikika apt kukhazikitsa -y postfix sudo firrestrart_mode = kukhazikitsa clamav-daen hisix264-vache-python3-python3-python3-pythonzo Tsewank-8-JDK Redis-seva Libepenon3-DECSA PANSOND-CoundKot Mapulogalamu-katundu-wamba Putbon 3th3-Tybot-Apache # Yambitsani Clamav antivarus echo "Kuyambitsa Antivirus" SuDo Syscyl Yambitsani Clamav-Daemon SuDo Syscyl Start Clamav-Daemon # Khazikitsani dzina echo "127.0.0.1 Femmebabe" | sudo tee -a / etc / makampani SuDo BuschnamectLenctLenct # Kukhazikitsa diabase SurUp Echo "Database yomanga kumbuyo, izi zitha kutenga nthawi." mphaka db.Jejjson. ?? > DB.JJS Echo "Kukonza Firewall" SuDo Ufw Off Lover Lomezani sudo ufw osasinthika obwera sudo ufw lolani 22 sudo ufw lolani http Sudo Ufw Lolani HTTPS Sudo Ufw Lolani 'Postfix' Sudo Ufw Lolani 'Postfix SMTPS' Sudo Ufw Lolani 'Postfix Kugonjera' Sudo Ufw Lolani 'Dovecot Pop3' Sudo Ufw Lolani 'Dovecot Ridy Pop3' sudo ufw lolani 110 / tcp sudo ufw lolani 25 / tcp echo "| | sudo ufw # Lemekezani Kuthamanga Echo "Kukonza Firewall" SuDo Septures -p Kulandila Kuvomereza Zotsatira za Sudo Zakale -p Kuwalandira SuDo Septures -p Yakulandila sudo opsinjika -F sudo opsinjika-sungani # Kukhazikitsa ufilulenv CD $ DIR echo "Kupanga Malo Abwino" Python -m venv venv gwero venv / bin / yambitsa Pip3 kukhazikitsa -r zofunikira.txt # Ikani cerbot echo "Kukhazikitsa satifiketi" sudo snap kukhazikitsa pakati; Snap Snap Rekeresh Core Kukhazikitsa kwa Sudo Snop --classic Certbot Sudo ln -s / snap / bin / cerbbot / USR / bin / binbot SuDo snap kukhazikitsa redis SuDo Syscyl imathandizira Apache2 SuDo Syscyl Start Apache2 # Kuthamanga cerbot sudo cercbot -apache ristive - yolumikizana - tos - tos - masheya # Khazikitsani makonda osuta Sudo Gpesswdd - ogwiritsa ntchito ma www # Ikani chilolezo echo "kukhazikitsa zilolezo" Gulu la Sudo Chown -r: Ogwiritsa ntchito Cache / Sudo Chmod A + RWX -r Cache / #Sudo Chown -r Anf: Ogwiritsa / Var / Run / #sodo chombo chombo: Muzu / kuthamanga / sudo / ts -r Sudo Chown -r Redis: Redis / Var / Lib / Redis Sudo Chown -r Redis: Redis / Var / Log / Resis sudo cmed -r u + rwx, g + rwx, iwe + rx / var / redis sudo chmod + r /tc/redis/redis.conf Gulu la Sudo Chown -r: Ogwiritsa / Var / Log / sudo chonch -r: Ogwiritsa ntchito .././ sudo chmod -r g + rwx ./ sudo chmod -r g + rx .././ sudo chmod -r g-rwx ../.ssh sudo cmed 774 ./ SuDo Chown -r www-deta: SuDo Chorose Www-deta: Ogwiritsa ntchito ./ Gulu la Sudo Chown -r: Ogwiritsa ntchito Media / Gulu Lown Lown -r: Ogwiritsa ntchito ./ # Retani ndikuyatsa ntchito echo "Ntchito Zothandiza" SuDo Sysctroct DAEmon-Reodi SuDo Syscyl Yambitsani Clamav-Daemon SuDo Syscyl Start Clamav-Daemon # Yambitsani ma module a Apache echo "Kuwathandiza pa Apache2" Sudo A2enmord Lembarani Sudo A2enmod WSGI Sudo A2enmoh Mitu Sudo A2enD SSL sudo a2enmod proxy sudo a2enmomo_bancerr Sudo A2enmod Proxy_http Sudo A2enmodProxy_WSngwannel # Tsegulani daemon ndikuyambitsa Apache, Postfix ndi Operam SuDo Sysctroct DAEmon-Reodi SuDo Sysctroct Reftor Apache2 SuDo Sysctroct Refert Exkim Postfix # Onetsani IPV6 ndi OPANKIM POPANDA KUSINTHA echo "Koperani zidziwitso pansipa kuti musinthe." Woyang'anira -I ip a | grep cent ip -6 owonjezera | Grep "

! / bin / bash

Malamulo a Log

Nano tengani
      <small># Git
Kusintha ndi kukhazikitsa

Yambitsani Clamav antivarus

Khazikitsani dzina
Khazikitsani zosunga

Lemekezani

Kukhazikitsa ufiyulenv
# Ikani cerbot
    success_url = '/' # Thamangitsani Chutbot
    def test_func(self): # Khazikitsani ogwiritsa ntchito
Khazikitsani chilolezo

Gulu Lown Lown -r: Ogwiritsa / Var / Run /

SuDo Chofero Chombo: Muzu / Run / Sudo / TS -R

Kwezerani ndi kuthandizira

Sinthani ma module a Apache
nano users/urls.py
Tsegulani daemon ndikuyambitsa Apache, Postfix ndi Operam

Onetsani IPV6 ndi OPANKIM POPANDA KUSINTHA

Musanagwire nambala iyi, onetsetsani kuti mwagula kuti wagulidwa ndi seva. Kuti muchite izi, tsegulani machipatala anu, ndikuyendetsa lamulo ili ndi tsamba lanu:
# Ping femmebabe.com # ikani domain pano, itatha ping
# ikani domain pano, mukatha kujambula
Ngati zonse zikuwoneka bwino ndipo seva ikutumiza mayankho, tili okonzeka kuyendetsa script ndikukhazikitsa mapaketi komanso kuyamba, kuthandizira ndikutsimikizira ndikutsimikizira seva yathu ya Apache.

Izi sizofunikira kuti zikhazikike postfix, tiona kukhazikitsa koyamba. Pakadali pano, yendetsani nambala yokhazikitsira iyi ndipo iyenera kutenga mphindi zochepa kukhazikitsa ndikutsimikizira seva yanu. Apanso, onetsetsani kuti mwasintha dzina, imelo ndi dzina lolowera mu script malingana ndi dzina lomwe mudagula.

Tsopano seva ikuperekedwa, mutha kupita ku ulalo mu msakatuli wa pa intaneti ndikuyang'ana kuti seva ikuyenda bwino. Ngati sichoncho, yesani kudikirira kwakanthawi kochepa kwa DNS kuti mugwire kenako ndikuyendetsa lamulo lotsatira ku Renffet:
sudo backup
sudo centbot - yolumikizirana - yolumikizana - tos - isdomain .COM - Gmail.com

Malingana ngati mwakhazikitsa chilichonse moyenera, muyenera kupeza tsamba losasinthika la Apache kungodziwa kuti nambala yanu ikugwira ntchito ndikuwonetsa tsamba lamoyo. Kenako, tiyeni tisinthe zikhazikiko. Tikhazikitsanso maudindo mu makonda, komanso mayps amkati.

Nano Lucrofer / Zokhazikika.py

Mu makonda, sinthani / onjezani mizere iyi.

Debug = zabodza # Tsamba Site_name = 'freme babe' Protocol = 'HTTPS' Domain = 'femmebabe.com' Site_id = 1 Dera_url = protocol + ': //' + domain Kuloleza_Mosts = [Domain] Mkati_ps = [ 'Xx.xx.xx.xx', ]

Tsamba la Tsamba

Tsopano, tifunika kulinganiza Apache2. Tiyeni tisinthe fayilo yomwe tidzapereka ndi mzerewu:

sudo nano /tc/apachet2/sutes-nailab-nailable/femmebabebe-

Fayilo yadongosolo ili iyenera kukhala ndi dzina lathu lotchedwa, ndi dzina la wosuta ndi polojekiti. Ndikugwiritsa ntchito dzina la domain Femmebabe.com, gulu la Username, ndipo polojekitiyo dzina la Femmebabe.

Servition Phokoso la Phiri Refrectoct Rese / https://femmebabe.com/ ServerthAme femmebabe.com Trauradmin TreRam@fammebabe.com Chidziwitso / Var / www / html Zolakwika za $ {Apache_log_Dir} /Rer.log Makonda Alias ​​/ Static / Cound / Team / Fremebabe / Static Amafuna onse kuvomerezedwa Alias ​​/ Media / ICons / Count / Team / Femmebabe / Media / Amafuna onse kuvomerezedwa Amafuna onse kuvomerezedwa Wssictrigicas / / /home/team/femmebabe/femmebabe/wsgi.y WSgidaemontemontcrocess Femmebabe Python-Pay / Team / Python-Commer-StEFER-THEMER-STATION ATSOGO = Gulu Wsgiprossgroup femmebabe Wsgiappasproup {Global} Zolemba zosankha zotsatirazi Loloverride zonse Rengeeengine pa Lembaninso% - pempho_uri} \. (CSS | WebP | jpeg | svg | scg) $ [[Nc] Lembaninso%% {http_rererr}! Rebleule. (. +?) / $ / Media / $ 1 [F, L] Phatikizani / /tc/letsencrypt /ssys-sls Sslcerti vletc/letsencrypt/feve/femmebabe.cchain.pem Sslcertivitekeyfile /tc/letsencrypt/feve/femmebabe.com/privkey.pem Mutu wakhazikitsa x-chimango: "Inorigin" Header Nthawi 60000 Wopanda pake 0 Mutu wakhazikitsa Cache-Control "Max-wazaka = 30, pagulu" ServerthAme femmebabe.com Trauradmin TreRam@fammebabe.com Chidziwitso / Var / www / html Zolakwika za $ {Apache_log_Dir} /Rer.log Makonda Rengeeengine pa Lembaninso%% {seva_name} = femmebabe.com Referwele ^ HTTPS: //% {A seva_MENE}% {Ikufunsira_kutha, Night, NE)

Onetsetsani kuti mwasintha dzina la polojekitiyi, zowongolera, ndi madera mu code iyi mukakonza seva yanu. Tsopano, tifunika kuletsa tsamba lokhazikika. Izi zitha kuchitika pogwiritsa ntchito bash.

Sudo A2Dissite 000-SEXT-Le-SSL sudo a2Dissite 000-school sudo a2DIste rud-ssl

Kenako, titha kulola malo osungirako osakhazikika ndikuyikanso pachache2, kugwiritsanso ntchito kubzala. Kumbukirani kusinthanitsa femmebabe ndi dzina la fayilo lomwe mudalengeza mukasintha mu / etc / pachete2 / malo omwe alipo /.

sudo a2nsite femmebabe-le-ssl SuDo SysctLL Red Epache2

Bwererani kudera lanu ku Navbar. Muyenera kuwona tsamba lomwe mwakonza mu msakatuli wanu. Zabwino! Ngati simukuwona, mungafunike kusintha zina. Unikani mosamala makonda anu, kusinthika kwa apaya, ndikuwonetsetsa kuti mulibe zolakwika zilizonse, ndikuyendetsa malamulo otsatirawa kuti muwone ntchitoyi chifukwa cha zolakwa.
ssh-keygen
CD projekiti gwero venv / bin / yambitsa Python Carnal.PY DZANI

Ngati muli ndi zolakwika mu python polojekiti yanu, iwafufuze komwe ali ndikuwakonza. Simungathe kuwona zolakwitsa zanu zonse kutengera komwe ali, kotero ngati muli ndi cholakwika chomwe chimangonena kuti "poput sichinabwereze", sinthani fayilo yotsatirayi mu chilengedwe.

Nano Venv / Lib / Python3.12 / Phukusi-Mapaketi / Django / Mapulogalamu / Registry.py
cat ~/.ssh/id_rsa.pub
Pindani ku mzere 83, pomwe cholakwika cha runtime chija chimakwezedwa (kwezani runtimeror (") osavomereza")) Izi zikuwoneka motere:

Ngati mukudzikonda: # Pewani kuyitanitsa wobwereketsa kuti mupewe kuwononga appConfig. # njira kawiri. # kwezani runtimeror ("popple () sakulira") nokha.app_configs = {} Kudzionera = Zowona

Pewani kuyitanitsa wobwereketsa kuti mupewe kuwononga appConfig. ()
ssh-keygen -t rsa -b 4096
njira kawiri.

kwezani Runimeerror ("popple () sapereka")

Mutha kuyang'ananso polojekitiyi ndikuwonetsa cholakwika.
ssh ubuntu@XX.XX.XX.XX
Python Carnal.PY DZANI

Kenako mutha kuwona cholakwika ndikukonza. Mukakhala kuti mwakonzanso ndipo nambala imatha popanda zolakwa, onetsetsani kuti mwasintha fayilo kuti ioneke motere:

Ngati mukudzikonda: # Pewani kuyitanitsa wobwereketsa kuti mupewe kuwononga appConfig. # njira kawiri. kwezani Runimeerror ("popple () sapereka") # nokha.app_configs = {} Kudzionera = Zowona

Pewani kuyitanitsa wobwereketsa kuti mupewe kuwononga appConfig. ()

njira kawiri.
nano sshd_config
nokha.app_configs = {}
# Adapereka seva ili pa intaneti, tikasintha zina zina, tiyenera kugwiritsa ntchito lamulo lotsatirali kuti mulembetse seva:
# SuDo SysctLL Red Epache2
# Zowopsa! Koma bwanji za kutumiza makalata? Kuti muyambe kutumiza imelo, tifunika kusinthitsa kusintha kwamalamulo. Izi zikuyenera kukhala mu gawo lanu la DNS mu Scard Spacespace, kapena chilichonse chomwe mungalembetse dzina lanu lolembetsa. Tidzafunikanso kukhazikitsa ndikuwonjezera kasinthidwe, ndikuyendetsa malamulo ochepa.
# Choyamba, tiyeni titenge adilesi ya ipv6 ya seva. Titsegula DNS yanu ndikuwonjezera mbiri.
# Kuti mupeze adilesi ya seva ya seva, gwiritsani ntchito lamuloli:
# ip -6 owonjezera
# Tsopano, titha kuwonjezera zolemba zotsatirazi ku makonda a DNS. Zolemba zanga zikuwoneka zotere. Komabe, zolembedwa zanu, muyenera kusintha adilesi ya IP ndi IP yanu (osati 75.147.182.11.214.214, ndiye mgodi). Onjezaninso madera anu m'malo mwa femmebabe.com, komanso adilesi yanu ya IPV6 yopezeka ndi lamulo lakale (simungathe kugwiritsa ntchito mgodi, Feft: FFF: Fef: Feft: Fef: 3e02). Osadandaula za Domainy pakadali pano, izi zimapangidwa pomwe tidakhazikitsa positi, seva yamakalata, ndi Operam, ndikusindikiza fungulo. Tidzakhazikitsa izi zomaliza.
# @
A
N / A
75.147.182.214
# @
Mx mX
10
femmebabe.com
# @
Ptr
N / A
femmebabe.com
# @
NDILEMBERENI
N / A
Txt @ v = spf1 mx ip75.147.182.214IP6: Fef6: FA80 ::7A: FFF: Feft: FA49 ~ Onse
# osasinthika._bimi
NDILEMBERENI
N / A
v = BIMI1; L = HTTPS: //femmebabe.Media/stia/stricac/femmmebabe.svg
# _DMarc
NDILEMBERENI
N / A
v = DAMAC1; p = palibe
# Tsopano, tifunikira kuwonjezera kasinthidwe kwina kokhazikika kwa postfix. Zomwe tikuyenera kuchita ndikuonetsetsa kuti tikusintha dzina la domain, femmebabe.com, lomwe lili ndi dzina lomwe mukugwiritsa ntchito. Tiyeni tiwone mafayilo onse amodzi ndi amodzi, ndikuwayika mu chikwatu chotchedwa Offlojekiti yathu, kukhazikitsa ku OS.
# nano tengani / etc_postfix_main.cf
# Onjezani izi ku fayilo
# # Onani /sr/share/postfix/main.cf.dist pa mawu onenedwa, ochulukirapo


# Rebian Confict: Kufotokozera dzina la fayilo lidzayambitsa yoyamba
# mzere wa fayiloyo kuti igwiritsidwe ntchito ngati dzinalo.  Kuwonongeka kwa debian
# ndi / etc / makalata.
#Mymorigin = / etc / makalata

SMTPD_Banner = $ MyHostmen ESMTP $ Mail_nana (ubuntu)
Biff = ayi

# wokonzanso .Damain ndi ntchito ya MuA.
Puntse_dot_mmdoain = ayi

# Osavomerezeka mzere wotsatira kuti upange "machenjerero"
#delay_wartar_ime = 4h

werengani_directive = ayi

# Onani http://www.postfix.org/odmative.html - okhazikika mpaka 3.6
# Kukhazikitsa mwatsopano.
Kuphatikizika_kulera = 3.6



# TLS
SMTPD_tls_Cile = / Etc / Lesencrypt / Live / Femmebabe.com / DellChain.pem
SMTPD_tls_ket_file = / etc / lesencrypt / Live / Femmebabe.com / Dowkey.pem
SMTPD_tls_SECUd_level = Meyi

SMTP_tls_Capath = / Etc / SSL / OCTS
SMTP_tls_Cache_database = $ {Data_Directive} / SMTP_CTP

SMTPD_relay_reketions = Chilolezo_sasl_saute - Deformation_UNATUTH_EDESTER
myhostname = femmebabe.com
Alias_maps = hash: / etc / maina
Alias_database = hash: / etc / maina
myorigin = / etc / makalata
chikondi = femmebabe.com, $ myhostone
SMTP_HOOLO_AMEN = FEMMEBABE.com
Mynetworks = 127.0.0.0/8 [:0) [:0.0.0.0. 1] / 128
makalata_ sigit_lit = 0
Wolandila_wimiiter = +
Zingwe_intfandos = zonse
rit_pritocols = onse

# Kusintha kwa Milter
Milter_default_aling = Vomerezani
Millet_prtocol = 6
SMTPD_Milters = Yakomwe: Operandkim/ovandkim.sock
Palibe_mmtpd_malters = $ SMTPD_MIILLS

SMTP_tls_SECUd_level = Scrrytt
SMTP_tls_Geleevel = 1

Viryay_transport = LMTP: Unix: Zachinsinsi / Dovecot-lmtp

SMTPD_sasl_path = zachinsinsi / auth
# Onani /srur/share/postfix/main.cf.dist ya mawu onenedwa, ochulukirapo
# Debian cons: Kufotokozera dzina la fayilo lidzayambitsa yoyamba
# mzere wa fayiloyo kuti igwiritsidwe ntchito ngati dzinalo.  Kuwonongeka kwa debian
# ndi / etc / makalata.
# myorigin = / etc / makalata
# Kumaliza .Dain ndi ntchito ya MuA.
# Zosasamala mzere wotsatira kuti mupange "Makalata Ochenjera"
# kuchedwa_wartar_ nthawi = 4h
# Onani http://www.postfix.org/ormomme.html - Okhazikika mpaka 3.6
# Kukhazikitsa Kwatsopano.
# TLS
# Kusintha kwa Miller
# Khola Lotsatira!
# nano tent / etc_postfix_master.cf
# Onjezani mizere iyi:
# #
# Postfix MARD Njira yosinthira.  Zambiri pamtundu
# ya fayilo, onani tsamba (5) Tsamba (Lamulo) (Lamulo: "Munthu 5 Master" kapena
# pa intaneti: http://www.postfix.org/masters.5.html).
#
# Musaiwale kupereka "Postfix Regiad" mutasintha fayiloyi.
#
# ======================================.
# Internet mtundu wa chinsinsi cha Stroot Ductup Maxproc Command + Args
# (inde) (inde) (ayi) (palibe) (100)
# ======================================.
SMTP itt N - Y - - SMTPD
#smtp litt z - y - 1 pncreen
#smtpd pass - - y - - smtpd
#dnsblog unix - - y - 0 dnsblog
#tlsproxy unix - - y - 0 tlsproxy
# Sankhani imodzi: Yambitsani kugonjera kwa makasitomala owonera okha, kapena kwa kasitomala aliyense.
# 127.0.0.1: Kutumiza Mut N - Y - - SMTPD
Kugonjera Int N - Y - - SMTPD
  -o SMTPD_relay_reketions = chilolezo_sasl_sasted, sikani
  -o SMTPD_Recuprent_reretions = Chilolezo_sasl_sasted, Sikani
  -o syslog_name = Postfix / kutumiza
  -O smtpd_tls_seculd_level = Sncrrytt
  -o smtpd_tls_wrappermode = ayi
  -o smtpd_sasl_auth_ed = inde
  -o SMTPD_sasl_tyP = Dovecot
  -o smtpd_sasl_path = zachinsinsi / auth
# -O syslog_name = positi / kugonjera
# -O smtpd_tls_seculity_level = Scrrytt
# -O smtpd_sasl_auth_ed = inde
# -O smtpd_tls_uti_my = inde
# -O smtpd_rejets_reliprint = No
# -O smtpd_clint_restriction = $ mua_cling_rents
# -O smtpd_helounts = $ mua_helo_restrictions
# -O smtpd_sertings = $ mua_ender_restrictions
# -O smtpd_recipplent_restrictions =
# -O smtpd_relay_rekestictions = Chilolezo_SAS_SAMViriziridwa, sikani
# -O milter_macroro_daemomon_name = Kuyambira
# Sankhani imodzi: Yambitsani SMTPS ya makasitomala owonera okha, kapena kwa kasitomala aliyense.
# 127.0.0.1: SMTPS Int N - Y - - SMTPD
#smtps yit n - y - - smtpd
# -O syslog_name = postfix / smtps
# -O smtpd_tls_wrappermode = inde
# -O smtpd_sasl_auth_ed = inde
# -O smtpd_rejets_reliprint = No
# -O smtpd_clint_restriction = $ mua_cling_rents
# -O smtpd_helounts = $ mua_helo_restrictions
# -O smtpd_sertings = $ mua_ender_restrictions
# -O smtpd_recipplent_restrictions =
# -O smtpd_relay_rekestictions = Chilolezo_SAS_SAMViriziridwa, sikani
# -O milter_macroro_daemomon_name = Kuyambira
# 628 idut n - y - - qmqpd
Kusankha UNIX N - Y 60 1
Kuyeretsa Unix N - Y - 0 kuyeretsa
QMGR Unix N - N 300 1 QMGR
#qmgr unix n - n 300 1 oqmgr
Tlsmgr Unix - - Y 1000?   1 tlsmgr
Lembaninso Unix - - y - - rectival-rev
yikani Unix - - y - 0 breation
Deformal Unix - - Y - Bream
Tsatirani Unix - - y - 0 breation
Tsimikizani Unix - - Y - 1 Vomere
Flush UNIX N - Y 1000?   0 flushi
Proxymap Unix - - N - - Proxymap
Proxywnrir Unix - - n - 1 proxymap
SMTP UNIX - - Y - - SMTP
Revey Unix - - Y - - SMTP
        -o syslog_name = Postfix / $ Service_NEME
# -O smtp_helout = 5 -O smtp_konknect_utumiki = 5
Showq Unix N - Y - - Showq
Vuto lolakwika - - y - - cholakwika
Kuyesanso Unix - - Y - - Vuto
kutaya unix - - y - - diyeni
Unix - n n - -
Malire a Unix - N n - - Virtual
LMTP UNIX - - Y - - LMTP
Anvi Unix - - Y - 1 Dialvil
scache unix - - y - 1 scota
Postlog Unix-DRRAR N - N - 1 Postlogd
#
# ======================================.
# Mawonekedwe a pulogalamu yopanda pointfix. Onetsetsani kuti mwapenda bukulo
# Masamba a Pulogalamu Yopanda Natifix kuti mudziwe zomwe mukufuna.
#
# Zambiri mwazigawozi zimagwiritsa ntchito chitoliro cha Postfix (8)
# wothandizira.  Onani bomba (8) la munthu kudziwa za $ {wopatsidwa}
# ndi njira zina za envelopu.
# ======================================.
#
# Maidrop. Onani Fayilo ya Postfix 4.
# Imalongosolanso ku Main.CF: Maidrop_Desipt_Reciprent_limit = 1
#
Maidse Unix - Nn - - chitoliro
  mbendera = Wogwiritsa ntchito marxhu = Varmail argv = / USR / bin / Maidrop --d $
#
# ======================================.
#
# Matembenuzidwe aposachedwa amatha kugwiritsa ntchito "LMTP" kulowera.
#
# Tchulani ku Cyrus.conf:
# lmtp cmd = "lmtpd - mverani =" lmthost: lmtp "proto = tcp4
#
# Tchulani mu mainchere.Cf imodzi kapena zingapo zotsatirazi:
# makalata_transport = lmtp: cut:
# moyenerera_transport = lmtp: cut:
#
# ======================================.
#
# Cyrus 2.1.5 (Amosi Gouaux)
# Imatchulanso ku mainchesi.
#
#cyrus unix - n n - - chitoliro
# mbendera = wogwiritsa ntchito rrus argv = / cyrus / bin /} $ {kukulitsa} - {ordins}
#
# ======================================.
# Chitsanzo chakale choperekera ku Cyrus.
#
# okalamba-cyrus Unix - n n - - chitoliro
# mbendera = r wogwiritsa ntchito = cyrus argv = / cyrus / bin / amapereka - {kuwonjezera-} $} $} $
#
# ======================================.
#
# Onani fayilo ya Postfix Uucp_okha kuti musinthe.
#
Uucp Unix - N n - - chitoliro
  mbendera = fqhu ogwiritsa = UUCP argv = uux -r -n -z -z -Z -A $ wotumiza - rxthop!
#
# Njira zina zobwezera zakunja.
#
IFIM IMIX - N n - - chitoliro
  mbendera = f wogwiritsa = ftn argv = / USr / lib / ngati mamail / ngati $ nexthop ($ nexthop ($ nexthop)
BSMTP UNIX - n n - - chitoliro
  mbendera = fq. Wogwiritsa = BSMTP ARGV = / USR / Lib / BSMTP / BSMTP -T $ Qundep -T $
Scalemail-byficen Unix - n n - 2 chitoliro
  mbendera = r wogwiritsa ntchito = scalemail argv = / USr / Lib / Scalemail / Scalemay-Scalemay-{nexthop} $ {Kuwonjezera} $
Mailman Unix - n n - - chitoliro
  Mbendera = Frx Wogwiritsa = Mndandanda wa ARGV = / USR / Lib / Bitman / Bitfix.y $ {Nexthop}
# 
# Postfix MARD Njira yosinthira.  Zambiri pamtundu
# wa fayilo, onani tsamba (5) Tsamba (Lamulo: "Munthu 5 Master" kapena
# pa intaneti: http://www.postfix.org/master.5.html).
# 
# Musaiwale kuthira "Postfix Regiad" mutasintha fayilo iyi.
# 
# =======================================.
# Service TRAET CORCEC CARD Chroop maxproc Command + Args
# (inde) (inde) (ayi) (konse) (100)
# =======================================.
# SMTP Int N - Y - 1 Topscreen
# SMTPD Pass - - Y - - SMTPD
# DSBLOG UNIX - - Y - 0 DNSBlog
# Tlsproxy Unix - - Y - 0 Tlspoxy
# Sankhani chimodzi: Yambitsani kugonjera kwa makasitomala owonera okha, kapena kwa kasitomala aliyense.
# 127.0.0.1:1:1Subetion Int N - Y - - SMTPD
# -o syslog_name = Postfix / kutumiza
# -O smtpd_tls_seculd_level = Sncrrytt
# -o smtpd_sasl_auth_ed = inde
# -o smtpd_tls_uti_my = inde
# -o smtpd_rejets_reliprint = ayi
# -o smtpd_clint_restrictions = $ mua_cling_rentstings
# -o smtpd_helounts = $ mua_helo_restrictions
# -o smtpd_sertictions = $ mua_ender_restrictions
# -o smtpd_recipnt_restrictions =
# -o SMTPD_relay_reketions = chilolezo_sasl_sasted, sikani
# -O ma ntroster_macroro_daemomon_name = kuyambira
# Sankhani chimodzi: Yambitsani ma SMTPS pa makasitomala owonera okha, kapena kwa kasitomala aliyense.
# 127.0.0.1:1:1:1Symtps Int N - Y - - SMTPD
# SMTPS IDET N - Y - - SMTPD
# -o syslog_name = Postfix / SMTPS
# -O smtpd_tls_wrappermode = inde
# -o smtpd_sasl_auth_ed = inde
# -o smtpd_rejets_reliprint = ayi
# -o smtpd_clint_restrictions = $ mua_cling_rentstings
# -o smtpd_helounts = $ mua_helo_restrictions
# -o smtpd_sertictions = $ mua_ender_restrictions
# -o smtpd_recipnt_restrictions =
# -o SMTPD_relay_reketions = chilolezo_sasl_sasted, sikani
# -O ma ntroster_macroro_daemomon_name = kuyambira
# 628 nduna n - y - - qmqpd
# QMGR Unix N - n 300 1 OQMGR
# -O smtp_helout_utumiki = 5 -O smtp_konknect_utumiki = 5
# 
# ========================================.
# Makina ophatikizira mapulogalamu osalemba. Onetsetsani kuti mwapenda bukulo
# masamba a mapulogalamu omwe si positi kuti adziwe zomwe mukufuna.
# 
# Ambiri mwa maulendo otsatirawa amagwiritsa ntchito chitoliro cha postfix (8)
# wothandizira.  Onani bomba (8) la munthu kudziwa za $ {wopatsidwa}
# ndi zosankha zina envelopu.
# ========================================.

Maidrose. Onani Fayilo ya Postfix 4.

Amatchulanso ku mailt.CF: Maidroprop_Desiprint_limit = 1
nano initialize

========================================.

# Matembenuzidwe aposachedwa amatha kugwiritsa ntchito "LMTP".

Tchulani mu cyrus.conf:

LMTP CMD = "LMTPD -A" Mverani = "LMTP" LMTP

Fotokozerani mukulu.CF imodzi kapena zingapo zotsatirazi:
ssh team@XX.XX.XX.XX
makalata_transport = lmtp: cut:

Virtual_transport = LMTP: REDET:

========================================.

cat ~/.ssh/id_rsa.pub
Koresi 2.1.5 (Amosi Goux)

Amatchulanso ku Main.CF: Cyrus_Destures_Reciprent_limit = 1

git clone git://github.com/you/yourproject.git
Koresi Unix - N n - - chitoliro

Mbendera = Wogwiritsa Ntchito = Cyrus Argv = / Cyrus / bin /r $

ls
========================================.

Chitsanzo Chakale cha Kutumiza Va Cyrus.

cp -r yourproject whatyoucalledit
United-Cyrus Unix - N n - - chitoliro

mbendera = r ogwiritsa ntchito = cyrus argv = / cyrus / bin / amapereka - {kuwonjezera-} $} $} $

sudo nano /usr/bin/ascript
========================================.

Onani fayilo ya Postfix Uucp_okha kuti musinthe.
# 
    echo "# 
Njira zina zakulera zakunja.

Ndi kusinthidwa kwa otsegula. Operam amazindikiritsa ma seva amaimelo ndi makiyi apadera kuti awapangitse kukhala otetezeka. Popanda izi, makalata sanasainidwe ndipo mwina sangayipangitse itbox.
sudo chmod a+x /usr/bin/ascript
nano tent / etc_default_ovandkim

Onjezani mizere iyi:

# Dziwani: Iyi ndi fayilo yosinthira. Sizigwiritsidwa ntchito ndi OPANKKIM # ntchito. Chonde gwiritsani ntchito magawo ofanana # /tc/opendkim.conf m'malo mwake. # # M'mbuyomu, munthu amasintha makonda apa, kenako nkutha # /Lib/ovandkim/ovandkim.Sirvice.Getete kuti mupange mafayilo ochulukirapo ku # /tc/systemd/system/ovandkim.Sirvice.d/override.conf ndi # /tc/tmpfiles.d/ovandkim.conf. Ngakhale izi zithekabe, tsopano ndi # Ndimalangiza kuti musinthe makonda mwachindunji mu /tc/opendkim.conf. # # Daemon_opts = "" # Sinthani ku / var / spool / postfix / kuthamanga / Operam kuti mugwiritse ntchito zidziwitso # postfix mu Chroot: # Rundir = / var / spool / postfix / kuthamanga / operak Rundir = / Run / Operam # # Zosafunikira kutchulanso chinsalu china # Dziwani kuti izi zipitilira phindu lililonse ku Operatkim.conf # Zosasintha: Socket = "lapakati: / /var/spool/postfix/opendkim/ovandkim.sock" # Mverani zigawo zonse pa doko 54321: # THECT = CATET: 54321 # Mverani Phokoso pa Port 12345: # THECT = CATT: 12345 @ # Mverani pa 192.0.2.1 pa doko 12345: # Thitct = Cut: 12345@192.0.2.1 Wogwiritsa = OPANKIM Gulu = OPANKKIM Pidfile = $ rundir / $ dzina.Pid Owonjezera =
# Chidziwitso: Ili ndi fayilo yosinthira. Sizigwiritsidwa ntchito ndi OPANKKIM
# ntchito. Chonde gwiritsani ntchito magawo ofanana
# /tc/opendkim.conf m'malo mwake.
# 
# M'mbuyomu, munthu amasintha makonda apa, kenako nkutha
# /lib/ovandkim/ovandkim.rsevice.Getete kuti mupange mafayilo ochulukirapo ku
# /tc/systemd/system/ovandkim.Sirvice.d/override.conf ndi
# /tc/tmpfiles.d/ovandkim.conf. Ngakhale izi zithekabe, tsopano ndi
# Analimbikitsa kuti asinthe makondawo mwachindunji mu /tc/opendkim.conf.
# 
# Daemon_opts = ""
# Sinthani ku / var / spool / postfix / kuthamanga / operat gwiritsani ntchito zidziwitso
# Postfix mu Chroot:
# Rundir = / var / spool / postfix / kuthamanga / operam
# 
# Chinsinsi chofotokozerani zitsulo zina
# Zindikirani kuti kupanga izi kumapitilira phindu lililonse ku Operatkim.conf
# ZOSAVUTA:
# Mverani zigawo zonse pa doko 54321:
# Socket = Mutu: 54321
# Mverani Loopback pa Port 12345:
pip3 install --upgrade opencv-python # Socket = Cut: 12345 @ rectost
pip3 install --upgrade opencv-contrib-python # Mverani pa 192.0.2.1 pa doko 12345:
# Socket = Cut: 12345@192.0.2.1
# nano tent / etc_dovecot_conf.d_10-mbuye.conf
# Onjezani mizere iyi:
# 0-Master.conf 
#default_process_lit = 100
#default_client_lit = 1000

# Osakhazikika vsz (kukula kwa kukumbukira) kuwongolera njira zantchito. Izi ndizo
# adafuna kugwira ndikupha njira zomwe zimatulutsa musanadye
# Chilichonse.
#default_vsz_lit = 256m

# Wogwiritsa ntchito wolowera mkati mwa njira zolowera. Izi ndizomwe zimadziwika kwambiri
# wosuta mu Dovecot System. Siziyenera kukhala ndi chilichonse.
#default_Login_user = Dongosolo

# Wogwiritsa ntchito wamkati amagwiritsidwa ntchito ndi njira zopanda pake. Ziyenera kupatukana ndi
# Wogwiritsa ntchito wogwiritsa ntchito, kotero kuti njira zolowera sizingasokoneze njira zina.
#default_inage_user = Dovecot

Ntchito IMAP-Login {
  Int_Luling Impap {
    #porport = 143
  }
  Int_Luminer IMAPS {
    #port = 993
    #ssl = inde
  }

  # Nambala yolumikizirana musanayambe njira yatsopano. Mwachinthu
  # mfundo zothandiza zokha ndi 0 (zopanda malire) kapena 1. 1 ndiotetezeka kwambiri, koma 0
  # ikuyenda mwachangu. 
  #Sirvice_count = 1

  # Chiwerengero cha njira kuti nthawi zonse muzidikirira kulumikizana kwambiri.
  #process_min_avail = 0

  # Ngati mumakhazikitsa ntchito_kukonza = 0, mwina muyenera kukula.
  #vsz_lit = $ SORS_VSZ_LIMIT
}

Ntchito Pop3-Login {
  Int_Lurner Pop3 {
    #port = 110
  }
  Idet_Lurner Pop3s {
    #port = 995
    #ssl = inde
  }
}

Kutumiza kwa Ntchito - Login {
  @et_iliger yogonjera {
    #port = 587
  }
}

ntchito lmtp {
  UNIX_LALIRER / Var / Spool / Postfix / SEVCOT-LMTP {
    gulu = postfix
    mode = 0666
    Wogwiritsa = postfix
  }

  # Pangani womvera mwa atatu pokhapokha ngati simungathe kugwiritsa ntchito ma sumu pamwambapa
  #inut_Lungener LMTP {
    # Pewani kupanga LMTP kuwoneka pa intaneti yonse
    #address =
    #port = 
  #}
}

ntchito kuvuta {
  # Makumbukiro ambiri amapita ku mafayilo () mafayilo. Mungafunike kuwonjezera izi
  # malire ngati muli ndi makalata akuluakulu.
  #vsz_lit = $ SORS_VSZ_LIMIT

  # Max. Chiwerengero cha njira ya iyop (maulalo)
  #process_lit = 1024
}

ntchito pop3 {
  # Max. Chiwerengero cha njira za pop3 (zolumikizira)
  #process_lit = 1024
}

Kugonjera kwa Ntchito {
  # Max. Chiwerengero cha njira zoperekera (zolumikizira)
  #process_lit = 1024
}

ntchito auth {
  # Auth_Socket_path imaloza ku zitsulo za UFTRDB iyi. Ndi
  # yogwiritsidwa ntchito ndi Dovecot-da, Doveadm, imps njira, etc. ogwiritsa ntchito omwe ali nawo
  # Chilolezo Chathunthu cha Tsamba ili amatha kukhala ndi mndandanda wazomwe amasuta komanso
  # pezani zotsatira za zomwe aliyense akugwiritsa ntchito.
  #
  # Njira yokhazikika 0666 imalola munthu kuti alumikizane ndi zitsulo, koma
  # Ogwiritsa ntchito oyang'anira adzachita bwino pokhapokha ngati ogwiritsa ntchito amabweza gawo la "UID" kuti
  # ikufanana ndi zoyeserera. Komanso ngati woyimba naye kapena gid amafanana
  # uid wa ma sobet kapena kuwongolera mawonekedwe ake. China chilichonse chimayambitsa kulephera.
  #
  # Kupereka chilolezo chokhazikika kuti ayang'ane onse ogwiritsa ntchito onse, khazikitsani mawonekedwe
  # china kuposa 0666 ndipo Dovecot amalola kuti kernel azikonza
  # Chilolezo (E.G. 0777 imalola aliyense chilolezo chonse).
  Unix_Luser / var / spool / postfix / zachinsinsi / auth {
    mode = 0660
    Wogwiritsa = postfix
    gulu = postfix
  }
}

Ogwira Ntchito Ogwira Ntchito {
  # Ogwira ntchito ogwira ntchito amayenda ngati mizu mosavomerezeka, kuti ithe
  # / etc / mthunzi. Ngati izi sizofunikira, wogwiritsa ntchitoyo ayenera kusinthidwa kukhala
  # $ RET_INR-Ouser.
  #ser = muzu
}

ntchito kuwongolera {
  # Ngati proxy imagwiritsidwa ntchito, njira zamakalata ziyenera kukhala ndi zitsulo zake.
  # Mwachitsanzo: Mode = 0660, Gulu = Vail ndi Makalata apadziko lonse_gnups = Vmail
  Unix_Lumiser Univerl {
    #mode = 0600
    #ser = 
    #group = 
  }
}
# kusintha_mrocess_lit = 100
# Zosintha_MClint_lit = 1000
# Vsz (kukula kwa kukumbukira) kuwongolera njira zogwiritsira ntchito. Izi ndizo
# anafuna kugwira ndikupha njira zomwe zimayitanitsa asanadye
# Chilichonse.
# Sinthani_vsz_lit = 256m
# Wogwiritsa ntchito Login amagwiritsidwa ntchito mkati mwa njira zolowera. Izi ndizomwe zimadziwika kwambiri
# wosuta mu Dovecot System. Siziyenera kukhala ndi chilichonse.
# Zosintha_Login_ser = Dongosolo
# Wogwiritsa ntchito mkati amagwiritsidwa ntchito ndi njira zopanda pake. Ziyenera kupatukana ndi
# Wogwiritsa ntchito Login, kotero njira zolowera sizingasokoneze njira zina.
# osasinthika_inage_ser = Dovecot
# doko = 143
# doko = 993
# SSL = Inde
# Kuchuluka kwa kulumikizana musanayambe njira yatsopano. Mwachinthu
# mfundo zothandiza ndi 0 (zopanda malire) kapena 1. 1 ndiotetezeka kwambiri, koma 0
# ikufulumira. <doc / wiki / Logiinprocess.txt>
# Ntchito_CATE = 1
# Chiwerengero cha njira kuti nthawi zonse muzidikirira kulumikizana kwambiri.
# Njira_Mman_avail = 0
# Ngati mumakhazikitsa ntchito_kusintha = 0, mwina muyenera kukula.
# vsz_lit = $ yokhazikika_vsz_limit
# doko = 110
# doko = 995
# SSL = Inde
# doko = 587
# Pangani womvera mwa atatu pokhapokha ngati simungathe kugwiritsa ntchito zitsulo pamwambapa
# Idet_Luliner LMTP {
# Pewani kupanga LMTP kuwoneka pa intaneti yonse
# adilesi =
doko =

}

Makumbukiro ambiri amapita ku mafayilo () mafayilo. Mungafunike kuwonjezera izi

Chepetsa ngati muli ndi makalata akuluakulu.

vsz_lit = $ yokhazikika_vsz_limit

Max. Chiwerengero cha njira ya iyop (maulalo)

Njira_limat = 1024

Max. Chiwerengero cha njira za pop3 (zolumikizira)

Njira_limat = 1024

Max. Chiwerengero cha njira zoperekera (zolumikizira)

Njira_limat = 1024

Auth_Socket_path imaloza ku makonda a UFTRDB iyi. Ndi

ogwiritsidwa ntchito ndi Dovecot-ldoa, Doveadm, imps njira, etc. ogwiritsa ntchito omwe ali nawo

Chilolezo chonse cha zitsulo izi amatha kupeza mndandanda wazomwe amasuta komanso

pezani zotsatira za zomwe aliyense akugwiritsa ntchito.

Makina osinthika 0666 amalola munthu kuti alumikizane ndi zitsulo, koma
# Ogwiritsa ntchito ogwiritsira ntchito amapambana pokhapokha ngati ogwiritsa ntchito amabwezera munda wa "UID"
# imagwirizana ndi zoyeserera. Komanso ngati woyimba naye kapena gid amafanana
# Socket ndi uid kapena gid wowoneka bwino. China chilichonse chimayambitsa kulephera.
# 
# Kupatsa chilolezo chokhazikika kuti ayang'ane onse ogwiritsa ntchito, khazikitsani mawonekedwe
# china chake kuposa 0666 ndipo Dovecot amalola kuti kernel ikhale yopanga
# Zilolezo (E.g. 0777 imalola aliyense chilolezo chonse).
# Njira yogwira ntchito imayendetsedwa ngati mizu mosasinthika, kuti ithe
# / etc / mthunzi. Ngati izi sizofunikira, wogwiritsa ntchitoyo ayenera kusinthidwa kukhala
# $ yokhazikika_inage_iser.
# wosuta =
# Ngati kulowererapo kumagwiritsidwa ntchito, njira zamakalata ziyenera kukhala ndi zitsulo zake.
# Mwachitsanzo: Mode = 0660, gulu = Vail ndi zapadziko lonse_gnups_groups = Vmail
# mode = 0600
# wosuta =
# gulu =
# Apanso, onetsetsani kuti mwasintha mafayilo onse m'mafayilo onsewa, femmebabe.com, ndi domain yomwe mwasankha. Sinthani fayilo yotsatira, Khomo la Dovecot,
# nano tent / etc_dovecot_dovecot
# Ndikuwonjezera mizere iyi
# # # Fayilo ya Dovecot

# Ngati muli mwachangu, onani http://wikique2.Dovecot.org/quickCotion

# "Dovecoff -n" Lamuloli limapereka zotulutsa zosinthika. Gwiritsani ntchito
# m'malo mwa kope & positi; mafayilo akamatumizira mndandanda wa Maimelo a Dovecot.

# '#' chikhalidwe ndi chilichonse pambuyo pa kuthandizidwa monga ndemanga. Malo owonjezera
# ndi ma tabu samanyalanyazidwa. Ngati mukufuna kugwiritsa ntchito izi momveka bwino, ikani
# Tchulani mkati mwa zolemba, mwachitsanzo: Chinsinsi = "# Char ndi TraitPace

# Ambiri (koma si onse) zosintha zitha kukhala zochulukirapo ndi ma protocol osiyanasiyana ndi / kapena
# Source / komwe akupita kuyika makonda mkati mwa magawo, mwachitsanzo:
# Protocol Imap {}, komweko 127.0.0.1 {}, kutali 10.0.0/8 {}

# Zotsalira zomwe zikuwonetsedwa patsamba lirilonse, sichofunikira kwa
#. Izi ndizosiyana ndi izi: Palibe magawo (mwachitsanzo.g.space {})
# kapena mapulogalamu a plugin amawonjezeredwa ndi osakhazikika, amalembedwa monga zitsanzo zokha.
# Njira ndinso zitsanzo zongoyerekeza ndi zosintha zenizeni zomwe zimakhazikitsidwa
# zosankha. Njira zomwe zalembedwa pano ndi zakonzedwa --prefix = / USR
# --sysconfdir = / etc --localstiir = / var

# Imathandizira ma protocols
! Phatikizani_try /sr/share/dovecot/protocols.d/*.protocol

# Mndandanda wopatukana wa ma ips kapena maawo omwe angamverere kulumikizana. 
# "* * *
# Ngati mukufuna kutchula madoko osakhazikika kapena chilichonse chovuta,
# Sinthani cret.d / mbuye.Conf.
#Listen = *, ::

# # TOXTET PERTORY Komwe Mungasungire deta ya Runtime.
#Base_Dir = / var / kuthamanga / Dovecot /

# Tchulani izi. M'makonzedwe a Doup
# imatha kugwiritsa ntchito - kusankhidwa ndi nthawi yomwe imagwiritsidwa ntchito (njira ina
# ku -c). Dzinalo limawonjezeredwanso ku Dovecot Njira
# in Ps zotulutsa.
#Nent_name = Dovecot

# Mauthenga a moni kwa makasitomala.
#Ligin_Geting = Dovecot okonzeka.

# Mndandanda wapadera wopatulidwa wa ma netwoidi odalirika. Zolumikizana ndi izi
# IPs zimaloledwa kuthana ndi ma adilesi awo a IP ndi madoko (podula mitengo ndipo
# zowonetsera zotsimikizika). Lemeke_pbwext_uuth imanyalanyazidwanso
# maukonde awa. Nthawi zambiri mungafotokoze ma seva anu a Proxy pano.
#Ligin_TirLed_netRorts =

# Mndandanda wopatulidwa wopatulidwa wolowera kuyika maboketi (E.g. TCPWWRAP)
#login_acncess_sckets = 

# Ndi proxy_maybe = inde ngati gawo la Proxy likugwirizana ndi IPS, musachite
# Kupereka. Izi sizoyenera, koma zitha kukhala zothandiza ngati mukupita
# Ip ndi e.g. IP Yogulitsa katundu.
#uth_proxy_okha =

# Onetsani mavoti ambiri maudindo (mwa PS). Pakadali pano akuwonetsa dzina la ogwiritsa ntchito ndipo
# IP adilesi. Zothandiza kuwona omwe akugwiritsa ntchito njira za sap
# (mwachitsanzo.
#verbose_proctitle = ayi

# Njira zonse zikaphedwe pomwe njira ya Dovecot imakhazikika.
# Kukhazikitsa izi kwa "ayi" kumatanthauza kuti Dovecot imatha kukonzedwa popanda
# kukakamiza kulumikizana kwa kasitomala komweko kutseka (ngakhale izi zitha kukhalanso
#vuto ngati kukweza ndi e.g. chifukwa cha chitetezo).
#shotdown_clings = inde

# Ngati si zero, Makalata a Mail Mail kudzera pamalumikizidwe ambiri awa pa seva ya Doveadm,
# m'malo mongoyendetsa mwachindunji chimodzimodzi.
#Dovedm_workker_count = 0
# Unix swacket kapena wogwirizira: Port yomwe imagwiritsidwa ntchito polumikiza seva ya Doveadm
#Dovedm_ocket_path = Doveadm-seva

# Mndandanda wopatulidwa wolekanitsidwa kwa zachilengedwe zomwe zimasungidwa pa Dovecot
# Kuyambira ndikupita pansi ku njira za mwana wawo zonse. Muthanso kupereka
# kiyi = TRAST Awiri
#imporporm_enslonments = Tz

##
# # Servary Seva
##

# Dictionary ikhoza kugwiritsidwa ntchito posungira kiyi = Mndandanda Wofunika. Izi zimagwiritsidwa ntchito ndi angapo
# mapulogalamu. Mtanthauzira mawuwo amatha kupezeka mwachindunji kapena a
# seva yotanthauzira mawu. Zotsatira zotsatirazi zimalepheretsa Mamapu a Scorery ku Uris
# pamene seva imagwiritsidwa ntchito. Izi zitha kutchulidwa pogwiritsa ntchito ursis
# "Proxy ::".

kuwongolera {
  #Quta = mysql: / /tc/dovecot/dovecot-dict-sql.conf.coxt.ext
}

# Zambiri mwa izi zimaphatikizidwa pansipa. Mafayilo ali
# yoyamba yosankhidwa ndi mtengo wawo wa ASCII ndikusungidwa mu dongosolo limenelo. Ma prefixes
# mu mafayilo amapangidwa kuti ikhale yosavuta kumvetsetsa.
! Phatikizani CONF.D / *. Chotsani

# Fayilo yokhazikika imatha kuyeseranso kuphatikizidwa osapereka cholakwika ngati
# sizinapezeke:
! Phatikizani_try.conf

Passdb {
  Woyendetsa = fayilo
  ma args = / etc / dovecot / passwd
}
{
  Woyendetsa = PassWD
}

Protocols = iPAAP Pop3

1

Mverani = * ::
Mafayilo a Dovecot

Ngati muli mwachangu, onani http://wikique2.Dovecot.org/quickconFation

"Dovecoff -n" Lamulo la "limapereka zotulutsa zosinthika zosintha. Gwiritsani ntchito
ping femmebabe.com # M'malo mokopera & mafayilo olemba mukamatumizira mndandanda wa Maimelo.
'Khalidwe ndi zonse atatha kuyankha ngati ndemanga. Malo owonjezera

Ndipo ma tabu samanyalanyazidwa. Ngati mukufuna kugwiritsa ntchito izi momveka bwino, ikani

Phiri loyera "

Ambiri (koma si onse) zosintha zitha kukhala zochulukirapo ndi ma protocol osiyanasiyana ndi / kapena

Gwero / komwe akupita kuyika makonda mkati mwa magawo, mwachitsanzo:

protocol ip {}, komweko 127.0.0.1 {}, kutalinso 10.0.0.0/8 {}

Mitengo yokhazikika imawonetsedwa pa mawonekedwe aliwonse, sikofunikira kwa
sudo certbot --apache --non-interactive --agree-tos --domains <domain>.com --email <youremail>@gmail.com
Awo. Izi ndizosiyana ndi izi: Palibe magawo (mwachitsanzo.g.space {})

Kapenanso makonda amawonjezeredwa ndi osakhazikika, amalembedwa monga zitsanzo zokha.

Njira ndinso zitsanzo zongoyerekeza ndi zosintha zenizeni zomwe zimakhazikitsidwa
nano yourproject/settings.py
zosankha. Njira zomwe zalembedwa pano ndi zakonzedwa --prefix = / USR

--Sysconfdir = / etc --localstiir = / var

Yambitsani ma protocols
# Mndandanda wopatukana wa ma IPS kapena owongolera komwe angamverere kulumikizana.
"* *" Ikumva ku IPV4 Maminito onse, ":::" Kumvera ku IPV6.

Ngati mukufuna kutchula madoko osakhazikika kapena china chake chovuta,

Sinthani cret.d / mbuye.Conf.
sudo nano /etc/apache2/sites-available/femmebabe-le-ssl.conf
Mverani = * ::

Directory Yoyambira Komwe Mungasungire deta ya Runtime.

maziko_Dir = / var / frop / dovecot /
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>
Dzina la izi. M'makonzedwe a Doup

imatha kugwiritsa ntchito -i <Innance_name> kusankha nthawi yomwe imagwiritsidwa ntchito (njira ina

ku -c <Fordig_path>). Dzinalo limawonjezeredwanso ku Dovecot Njira
sudo a2dissite 000-default-le-ssl
sudo a2dissite 000-default
sudo a2dissite default-ssl
Kutulutsa kwa Ps.

Nthawi_NEME = Dovecot

Uthenga wa makasitomala.
sudo a2ensite femmebabe-le-ssl
sudo systemctl reload apache2
Lowani_Geting = Dovecot okonzeka.

Mndandanda wopatulidwa wa malo odalirika. Zolumikizana ndi izi

IPs amaloledwa kuthana ndi ma adilesi awo a IP ndi madoko (pofuna kudula ndipo
cd projectname
source venv/bin/activate
python manage.py check
macheke otsimikizika). Lemeke_pbwext_uuth imanyalanyazidwanso

maukonde awa. Nthawi zambiri mungafotokoze ma seva anu a Proxy pano.

Login_TURD_NERRESS =
nano venv/lib/python3.12/site-packages/django/apps/registry.py
Mndandanda wopatukana wopatuka wolowera kuwunika (E.g. TCPWWRAP)

Login_access_Sockets =

Ndi proxy_maybe = inde ngati gawo la Proxy likugwirizana ndi IPS, musachite
                # Kupanga. Izi sizoyenera, koma zitha kukhala zothandiza ngati mukupita
                # Ip ndi e.g. IP Yogulitsa katundu.
# Auth_proxy_okha =
Sonyezani mawu owonjezera muyeso (mwa PS). Pakadali pano akuwonetsa dzina la ogwiritsa ntchito ndipo

Adilesi ya IP. Zothandiza kuwona omwe akugwiritsa ntchito njira za sap

(mwachitsanzo.
python manage.py check
vervose_proctitle = ayi

Njira zonse ziyenera kuphedwa pomwe njira ya Dovecot imakhazikika.

Kukhazikitsa izi kwa "Ayi" kumatanthauza kuti Dovecot imatha kukonzedwa popanda
                # kukakamiza kulumikizana kwa kasitomala komweko kutseka (ngakhale izi zitha kukhalanso
                # vuto ngati kukweza ndi e.g. chifukwa cha chitetezo).
# kutseka_Mints = inde
Ngati osakhala zero, oyendetsa makalata kudzera pamalumikizidwe ambiri awa pa seva ya Doveadm,

m'malo mongoyendetsa mwachindunji chimodzimodzi.

Doveadm_workker_Count = 0
sudo systemctl reload apache2
Unix Swacket kapena Wogulitsa: Port yomwe imagwiritsidwa ntchito polumikiza seva ya Doveadm

Doveadm_ocket_path = Doveadm-seva

Mndandanda wopatukana ndi madera omwe amasungidwa pa Dovecot

Kuyambira ndikupita pansi pa njira za mwana wawo zonse. Muthanso kupereka

kiyi = Train awiriawiri nthawi zonse amakhazikitsa zoikamo.

ikani_endarlonments = tz

ip -6 addr
Makina a Spever Server

Mtanthauzira mawu akhoza kugwiritsidwa ntchito kusunga kiyi = Mndandanda Wamtengo wapatali. Izi zimagwiritsidwa ntchito ndi angapo

mapulagini. Mtanthauzira mawuwo amatha kupezeka mwachindunji kapena a

seva yabodza. Zotsatira zotsatirazi zimalepheretsa Mamapu a Scorery ku Uris

Seva ikagwiritsidwa ntchito. Izi zitha kutchulidwa pogwiritsa ntchito ursis

"Proxy :: <dzina>".

Quota = MySQL: / /tc/dovecot/dovecot-dict-sql.conf.net

Zambiri mwa kasinthidwe zenizeni zimaphatikizidwa pansipa. Mafayilo ali

Choyamba chosankhidwa ndi mtengo wawo wa ASCII ndikusungidwa mu dongosolo limenelo. Ma prefixes

M'mafayilo a fayilo amapangidwa kuti ikhale yosavuta kumvetsetsa.

Fayilo yotsatsira imathanso kuyesedwanso osapereka cholakwika ngati

Sizinapezeke:

Imalola kuti pakhale kumvetsera ku kulumikizana konse (IPV4 / IPV6)

Onjezani mawu achinsinsi a Wogwiritsa ntchito:

nano tengani / etc_dovecot_poptddd

Gawo loyamba la fayilo, lisanalowe m'bwalo, ndiye dzina lolowera. Gawo lomaliza, "Thispassword", limatanthawuza mawu achinsinsi omwe mungafune kupereka seva yanu.

timu: {momveka bwino}

Kenako, Openkkim
nano config/etc_postfix_main.cf
nano tengani / etc_pendandkim.conf

Ndi kuwonjezera mizere iyi:

# Ichi ndi kusintha koyambirira kwa kusaina ndikutsimikizira. Zitha kukhala zosavuta # adasinthidwa kuti agwirizane ndi kukhazikitsa koyambira. Onani Operatkim.conf (5) ndi # / /usr/share/doc/ovandkim/examkim/ovandkim.conf.santha # Zolemba za magawo osinthira. Syslog inde Syslogsucss Inde #Logwy no # Magawo odziwika komanso otsimikizira. Mbali yamutu wakuti, wochokera "wamutu # olembetsedwa, chifukwa nthawi zambiri imakhala njira yodziwika yomwe imagwiritsidwa ntchito ndi machitidwe otchuka # motero pena pake. Canonamization omasuka / osavuta Ma s Supuni ayi Okwera kuchokera # Kusainira domain, kusankha, ndi fungulo (chofunikira). Mwachitsanzo, gwiritsani ntchito kusaina # ya Domain "Center.com" ndi osankha "2020" (2020._mandainkey.examp.com), # Kugwiritsa ntchito kiyi yachinsinsi yosungidwa mu /tc/dkimkeys/example.private. Granular yambiri Zosankha # zofananira zitha kupezeka mu /sr/share/doc/ovandkim/opendkim. #Domain Cent.com #Selector 2020 #Kota / /tc/dkimkeys/example.private # Ku Deba, Operam akuthamanga ngati wogwiritsa ntchito "Operamm". Maina a 007 amafunikira liti # Kugwiritsa ntchito chinsalu chakomweko ndi mtas omwe amalowa zitsulo ngati osakhala ndi mwayi # Wogwiritsa (mwachitsanzo, positi). Mungafunike kuwonjezera "postfix" pagulu # "Operam" pomwepo. Ogwiritsa ntchito opera Ussk 007 # TOCK CAME LA MTA (chofunikira). Ngati Mta ali mkati mwa ndende ya Chroot, # ziyenera kutsimikiziridwa kuti zitsulo zimapezeka. Ku Deba, positi imayenda # Chroot in / var / spool / postfix, motero suix iyenera kukhala # yokonzedwa monga taonera pamzere womaliza pansipa. #Ssocket wamba: / /Run/ovandkim/ovandkim.sock #Ockeket aget: 8891 @ recommost #Sockeket Aget: 8891 Socket Excle: / /var/spool/postfix/opendkim/ovandkim.sock Pidfile /run/ovandkim/ovandkim.pid # Omwe akuimira m'malo modzitsimikizira, osasunthika ndi 127.0.0.1. Onani # Gawo la Operation of Opera (8) kuti mumve zambiri. #InternalHosts 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12 # Nangula wodalirika umathandizira DNSSEC. Ku Deba, Fayilo ya Anchor Incor imaperekedwa # ndi phukusi la DNS-mizu. Ntaldiannchorfile /share/dns/root.key #Nanamervars 127.0.0.1 # Mapu Mapulogalamu kuchokera ku ma adilesi ku mafungulo omwe amagwiritsidwa ntchito kulembetsa mauthenga Chofunika Chosiyanasiyana: / /tc/opendkim/key.Tat Chosakanikirana chosiyanitsa: /tc/opendkim/sing.Table # Malo okhala mkati mwa makalata omwe makalata omwe makalata amayenera kusainidwa Misana / /tc/opendkim/trod.hosts
# Uku ndiko kusinthika koyambirira kwa kusaina ndi kutsimikizira. Zitha kukhala zosavuta
# adasinthidwa kuti agwirizane ndi kukhazikitsa koyambira. Onani Operatkim.conf (5) ndi
# Oli /
# zolemba za magawo osinthira.
# Lomba la ayi
# Magawo wamba ndi otsimikizira. Mbali yamutu wakuti, wochokera "wamutu
# onjezerani, chifukwa nthawi zambiri nthawi zambiri imakhala yodziwika bwino
# ndipo motero pena pakeni.
# Kusaina domain, kusankha, ndi kiyi (yofunikira). Mwachitsanzo, gwiritsani ntchito kusaina
# Ponena za "chitsanzo cha domain.com" ndi osankha "2020" (2020._mandey
# Kugwiritsa ntchito kiyi yachinsinsi yosungidwa mu /tc/dkimkeys/example.private. Granular yambiri
# Zosankha zokhazikitsira zimatha kupezeka mu /usr/share/doc/opendkim/opendkimme.omandkim.
Chikhalidwe cha Domain.com

Sankhani 2020

Keyfile /tc/dkimkeys/example.private
nano config/etc_postfix_master.cf
Ku Debaan, Operam amayenda ngati wogwiritsa ntchito "Operamm". Maina a 007 amafunikira liti

Kugwiritsa ntchito chinsalu chakomweko ndi mtas omwe amalowa zitsulo ngati osakhala ndi mwayi

Wogwiritsa ntchito (mwachitsanzo, postfix). Mungafunike kuwonjezera "postfix" pagulu
# "OPANKKIM" Zikatero.
# Zitsulo zolumikizira Mta (zofunika). Ngati Mta ali mkati mwa ndende ya Chroot,
# Ziyenera kutsimikiziridwa kuti zitsulo zimapezeka. Ku Deba, positi imayenda
# Chroot in / var / spool / postfix, motero suix iyenera kukhala
# Kukonzedwa monga zikuwonekera pamzere womaliza pansipa.
# Socket Excle: / / Crun/ovandkim/ovandkim.sock
# @ 8891 @
# Socket SET: 8891
# Oyendetsa makasitomala omwe angasainire m'malo motsimikiza, kusakhazikika ndi 127.0.0.1. Onani
# Gawo la Operation of Ponkkim (8) kuti mumve zambiri.
# InternalHosts		192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12
# Nanchor wamkulu amathandizira DNSSEC. Ku Deba, Fayilo ya Anchor Incor imaperekedwa
# ndi phukusi la DNS-mizu.
# Mayina 127.0.0.1
# Mapu Mapulogalamu kuchokera ku maadiresi ku mafungu omwe amagwiritsidwa ntchito kulembetsa mauthenga
# Malo okhala mkati mwa omwe makalata omwe makalata amayenera kusainidwa
# nano tent / etc_default_ovandkim
# Ndikuwonjezera mizere iyi
# # Dziwani: Iyi ndi fayilo yosinthira. Sizigwiritsidwa ntchito ndi OPANKKIM
# ntchito. Chonde gwiritsani ntchito magawo ofanana
# /tc/opendkim.conf m'malo mwake.
#
# M'mbuyomu, munthu amasintha makonda apa, kenako nkutha
# /Lib/ovandkim/ovandkim.Sirvice.Getete kuti mupange mafayilo ochulukirapo ku
# /tc/systemd/system/ovandkim.Sirvice.d/override.conf ndi
# /tc/tmpfiles.d/ovandkim.conf. Ngakhale izi zithekabe, tsopano ndi
# Ndimalangiza kuti musinthe makonda mwachindunji mu /tc/opendkim.conf.
#
# Daemon_opts = ""
# Sinthani ku / var / spool / postfix / kuthamanga / Operam kuti mugwiritse ntchito zidziwitso
# postfix mu Chroot:
# Rundir = / var / spool / postfix / kuthamanga / operak
Rundir = / Run / Operam
#
# Zosafunikira kutchulanso chinsalu china
# Dziwani kuti izi zipitilira phindu lililonse ku Operatkim.conf
# Zosasintha:
Socket = "lapakati: / /var/spool/postfix/opendkim/ovandkim.sock"
# Mverani zigawo zonse pa doko 54321:
# THECT = CATET: 54321
# Mverani Phokoso pa Port 12345:
# THECT = CATT: 12345 @
# Mverani pa 192.0.2.1 pa doko 12345:
# Thitct = Cut: 12345@192.0.2.1
Wogwiritsa = OPANKIM
Gulu = OPANKKIM
Pidfile = $ rundir / $ dzina.Pid
Owonjezera =
# Chidziwitso: Ili ndi fayilo yosinthira. Sizigwiritsidwa ntchito ndi OPANKKIM
# ntchito. Chonde gwiritsani ntchito magawo ofanana
# /tc/opendkim.conf m'malo mwake.
# 
# M'mbuyomu, munthu amasintha makonda apa, kenako nkutha
# /lib/ovandkim/ovandkim.rsevice.Getete kuti mupange mafayilo ochulukirapo ku
# /tc/systemd/system/ovandkim.Sirvice.d/override.conf ndi
# /tc/tmpfiles.d/ovandkim.conf. Ngakhale izi zithekabe, tsopano ndi
# Analimbikitsa kuti asinthe makondawo mwachindunji mu /tc/opendkim.conf.
# 
# Daemon_opts = ""
# Sinthani ku / var / spool / postfix / kuthamanga / operat gwiritsani ntchito zidziwitso
# Postfix mu Chroot:
# Rundir = / var / spool / postfix / kuthamanga / operam
# 
# Chinsinsi chofotokozerani zitsulo zina
# Zindikirani kuti kupanga izi kumapitilira phindu lililonse ku Operatkim.conf
# ZOSAVUTA:
# Mverani zigawo zonse pa doko 54321:
# Socket = Mutu: 54321
# Mverani Loopback pa Port 12345:
# Socket = Cut: 12345 @ rectost
# Mverani pa 192.0.2.1 pa doko 12345:
# Socket = Cut: 12345@192.0.2.1
# Tikakhala okonzeka kukhazikitsa seva yathu yaku Postfix, tidzayendetsa nambala yomwe ili pansipa, yomwe ili ndi dzina lovomerezeka lophatikizidwa. Yambani ndikupanga script
# kukhudza zolemba / postfixsetup
Sudo Chmod A + X Scripts / Postfixsetup
Ma Scripts a Nano / Postfixsetup
# Tsopano, ku Nano, mkonzi wa malembawo, sinthani fayilo iyi ndi dzina lanu la domain m'malo mwa femmebabe.com.
# #! / bin / bash
# Kukhazikitsa postfix
CD $ DIR
Kusintha kwa Mauthenga Echo "
sudo cp /tc/postfix/main.cf /tc/postfix/main.cf.banki
sudo cp medig / etc_postfix_main.cf /tc/postfix/main.cf
sudo cp medig / etc_postfix_master.cf /tc/postfix/master.cf
sudo cp medig / etc_default_opendkim / etc / osinthika / Operam
sudo cp medig / etc_dovecot_conf.d_10-auth.con.conc /tc/dovecot/dovec.con.con.
sudo cp medig / etc_dovecot_conf.d_10-mbuye.Cef /tc/dovecot/dovecot/dovec.cons
sudo cp medig / etc_dovecot_Dovecot.conf /tc/dovecot/dovecot.conf
sudo cp medig / etc_dovecot_Dovewddd / etc / dovecot / pass
sudo cp medig / etc_pendkim.conf /tc/opendkim.conf
sudo cp medig / etc_default_opendkim / etc / osinthika / Operam
SuDo Wowonjezera Postfix Operan
sudo mkdir / etc / otsegula
sudo mkdir / etc / otsegula / makiyi
sudo mkdir /tc/opendkim/keys/femmebabe.com
Sudo Mkdir / Var / Spool / Postfix / Operam
Sudo Echo Sudo Tee -A /tc/opendkim/sing.Tign
Sudo Echo "Homenly.@ Sudo Tee -A /tc/opendkim/woy.Tible
Sudo Echo "127.0.0.1" | Sudo Tee -A /tc/opendkim/trod.hosts
Sudo Echo "Exost" | Sudo Tee -A /tc/opendkim/trod.hosts
Sudo Echo "" | Sudo Tee -A /tc/opendkim/trod.hosts
Sudo Echo "* .Memmebabe.com" | Sudo Tee -A /tc/opendkim/trod.hosts
SuDo Chown -r Opera: Operankim / etc / Operam
Sudo Opera-genkey --b 2048 --d femmebabe.com -D /tc/opendkim/keys
sudo chmod go-rw / etc / otsegula / makiyi
Sudo Chown Oundkim: OperamKim /tc/opendkim/keys/femmebabe.com/sendonly.private
Sudo Chown Oundkim: Postfix / Varfix / Spool / Postfix / Operamm
CD $ DIR
sudo cp mailbox / * / var / makalata /
SuDo Chotupa: Ogwiritsa / Var / Mail / *
Sudo Chd -r A + RWX / Var / Mail / *
SuDo Sysctroctl Extrect OPANKIM ETFIX Dovecot
Sudo Cat /tc/ovandkim/feys/femmebabe.com/sendonly.txt | tr -d '\ n' | sed 's / \ s // g' | sed 's / "// g' | Awk -f '[] (]' '{Sindikiza $ 2}'
# ! / bin / bash
# Kukhazikitsa Postfix
# Tsopano, yendetsani zilembo zoyesedwa kuti zikhazikike postfix, Operam ndi Dovecot.
# ./script/postfixixip
# Izi zikangoyendetsa, kukopera mzere womaliza kumasindikiza ndikuyika mu kasinthidwe wanu wa DNS monga mtengo wa Tramnon. Ichi ndi fungulo la Oxtkim lomwe limagwiritsidwa ntchito kuzindikira madera anu potumiza makalata otetezeka.
# Zowopsa! Patangopita masiku ochepa, muyenera kutumiza makalata kuchokera ku seva yomwe imapereka chilichonse chokonzedwa bwino.
# Ngati mutangoganiza za DNS pa seva yanu yamakalata, iyenera kutenga maola ochepera 72 kuti zilembedwe. Nthawi zambiri zimakhala zambiri mwachangu. Mutha kuwona ngati seva yanu ikugwira ntchito pogwiritsa ntchito lamuloli, adapereka imelo yanu:
# echo "kuyesa" | Mail -S "Imelo" Imelo "ULRAMEM@GACC.com
# Ngati chilichonse chikuwoneka kuti chikugwira ntchito molondola, muyenera kutumiza imelo ndi seva yanu. Ngati sizikugwira ntchito, yesani kuyang'ana mitengo kuti muwone zomwe zingakhale zolakwika.
# mchira -lines 150 /var/log/alm.log
# Izi zimapereka chidziwitso chokhudza makalata omwe akutumizidwa ndi seva komanso ngati ikugwira bwino ntchito. Muyenera kuwona imelo mu bokosi lanu la bokosi lanu labwino kwambiri, ngati mulibe, onani chikwatu chanu cha Spam.
# Muyeneranso kukhazikitsa makonda anu mu zoikamo .y kotero seva yanu ya imelo imatha kuyankhula ndi pulogalamu yanu ya Djanga, polojekiti. Onjezani kapena sinthani mizere iyi m'makonzedwe anu
# Imelo_host = Domain
Imelo_Rer = 587
Imelo_sess_tls = Zowona
Imelo_AdDress = 'Team@femmebabe.com'
Imelo_host_user = 'Team' #love@mamafan.com '
Imelo_Host_Password = Chigawo ['Imelo_Host_phatword']
Kusasinthika_From_Email = '{{} <{}>'. Fomu (tsamba)
# 'Chikondano@mamasheen.com'
# Onani kuti tikugwiritsa ntchito fayilo yokhazikika kuti tipeze mawu achinsinsi. Tiyeni titumize fayiloyi mu makonda monga choncho, kumayambiriro kwa fayilo.:
# ikani os
kulowetsa json

# Tsegulani ndikuyika
ndi lotseguka ('/ etc / conc.json') ngati ma cent_file:
    Khola = JSON.SOS (Kondola_File)
# Tsegulani ndi kukweza
# Tiyeni tipangire fayilo iyi ndikuwonjezera chinsinsi cha izi, komanso mawu achinsinsi. Kupanga kiyi yachinsinsi, gwiritsani ntchito lamuloli, kutalika kulikonse komwe mungakonde:
# Tsegulani Rand -Base64 64
# Tsopano, koperani mawu omwe akutseguka omwe amapangidwa ndikusintha /tc/config.JSON
# sudo nano /nc/config.json
# Onjezani mizere yotsatirayi ku fayilo yanu, ndi kiyi yomwe tsegulani yopangidwa ngati kiyi yachinsinsi.
# {
	"Chinsinsi_"
	"Imelo_Host_password"
}
# Mtundu wa Jonas ndiwosavuta komanso wosavuta kugwiritsa ntchito makiyi ena omwe tikufuna kugwiritsa ntchito mu polojekiti yathu motere, ndikuwasunga kuti aletse ndalama zina kuti ogwiritsa ntchito satha kuwalembera, ndipo sangathe kuwerengedwa kuchokera ku zolojekiti zathu zokha. Ili ndi chizolowezi cha API makiyi a API, omwe tidzagwiritsa ntchito zoposa ochepa pano.
# Mufunanso kubwezeretsa polojekiti yanu kuti mutsimikizire kuti zonse zasungidwa ndipo mudzatha kubwezeretsa ntchito yanu pambuyo pake ngakhale simungafune kubwereka seva.
# SuDo Sungani
# Tsopano, yesani kutumiza imelo ya HTML kuchokera ku seva ya pa intaneti, yomwe imaperekedwa kuti itumize mzere wolamulira ukugwira ntchito. Funsani nthawi yanu yogwiritsa ntchito chipolopolo, ndipo tumizani imelo ya HTML kwa wogwiritsa ntchitoyo kudzera ku Django. Sinthani dzina langa mu code, Charlotte, ku dzina lanu lolowera.
# Python Carnal.PY Shell
kuchokera ku Django.Contrib.odels Term
U = ogwiritsa ntchito.obujets.get (rosername = 'Charlotte')
Kuchokera kwa ogwiritsa ntchito.email ikani kutumiza_welvey_elt
Tumizani_woshell_email (U)
Potulukira()
# Ngati lamulo loyamba siligwira ntchito, onetsetsani kuti mwagwiritsa ntchito
# gwero venv / bin / yambitsa
# Tidapereka chilichonse molondola, tsopano mudzapeza imelo yolandiridwa mu bokosi lanu la maimelo yanu. Ntchito yabwino! Mwabwera kutali.
# Ndinkafuna kuwonjezera, ngati mukulimbana ndi zolakwa zilizonse nthawi yonseyi ndikugwira ntchito ngati izi, musazengereze kufunafuna mayankho ndikupempha thandizo. Google, pakati pa injini zina zosaka, ndizokhalitsa kufunafuna thandizo la pulogalamu. Ingofunani cholakwika chomwe mukupeza, ndipo mudzatha kuwona momwe anthu ena amathetsa vutoli. Komanso, mwalandilidwa kuti mundilumikizane ndi ine, aphunzitsi anu (aphunzitsi, ophunzitsa), anzanu aliwonse omwe akupezeka pa intaneti, kapena kuti mupezenso bukuli kapena zinthu zina kuti mupeze mayankho omwe mukukumana nawo. Ndikumvetsa kuti izi sizophweka, koma ngakhale mutawerenga izi mpaka pano ndipo simukulemba code iliyonse, mukuphunzira zambiri za kupanga pulogalamu ya Web. Dziperekeni kumbuyo, mukuchita ntchito yabwino.
# Zikomo kwambiri chifukwa chowerenga nthawi yowerenga buku lachitatu lachitatu. M'makonzedwe amtsogolo, ndidzaphatikizanso zitsanzo zingapo zomwe zafotokozedwa kumayambiriro kwa chikalatacho ndipo tidzayendanso kwambiri m'dziko lamapulogalamu ndi zovuta. Khalani okonzeka zomwe zikubwera, ndipo ndikuyembekeza kukuphunzitsani momwe mungapangire pulogalamu yodabwitsa. Tikuwonani mu buku lotsatira!
# Pitani pa ulalo uwu (Ikutenga kunja kwa Lotte Harper)








nano config/etc_default_opendkim
























nano config/etc_dovecot_conf.d_10-master.conf
































































nano config/etc_dovecot_dovecot











































































nano config/etc_dovecot_passwd

team:{plain}yourpassword

nano config/etc_opendkim.conf


































nano config/etc_default_opendkim
























touch scripts/postfixsetup
sudo chmod a+x scripts/postfixsetup
nano scripts/postfixsetup


./scripts/postfixsetup

echo "test" | mail -s "Test Email" youremail@gmail.com

tail –lines 150 /var/log/mail.log

openssl rand -base64 64

sudo nano /etc/config.json

{
	"SECRET_KEY": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX-generated-using-openssl)",
	"EMAIL_HOST_PASSWORD": "yourpassword"
}

sudo backup

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()

source venv/bin/activate






Tseka
Tsamba 1
Dumpha
Onani nkhani yonse
Pitilizani kuwerenga

Gulani ndi Crypto



https://glamgirlx.com/ny/practical-web-based-deep-learning-and -


Zosangalatsa, Zithunzi, makanema, audio, kupezeka kwa masewera olimbitsa thupi komanso masewera olimbitsa thupi, komanso kusanthula ID, luso laubusayiti.

Ndisiye nsonga ku Bitcoin pogwiritsa ntchito adilesi iyi: 3KhDWoSve2N627RiW8grj6XrsoPT7d6qyE

© Glam Girl X 2025

Migwirizano Yantchito