Litaba - Etela Sebaka sa Sebaka
Practical Web Based Deep Learning and Security by Example Third Edition Charlotte Harper July 3, 2024 Updated/Converted June 3, 2025 Foreword: Security considerations in building software for the web are an important part of any web developer's plan and execution while engineering a prototype that is dependable, stable, and useful for practical purposes. The DOM (Document Object Markup), with it's implementation of HTML, JavaScript, and CSS as well as backend software implementing Python, C/C++, Java and bash, give web developers the freedom and power to create a wide variety of projects that express creativity, provide ease of use and functionality, portray humility and character, and provide ease of use as well as convenience and important services that are all attractive to the average Joe, the end user looking to kill time or get something done on the internet, usually on a touchscreen smartphone device. Most people wouldn't even know where to start when they want to build a website from scratch, they would tend to start on another person's website and build something limited in functionality, dependability, ease of use and especially creativity when they could have had all the latest powerful tools at their disposal in order to build something useful without wasting time pressing buttons, and especially wasting money paying for expensive subscriptions to software few people wanted to use anyway given it's limitations in ease of use and flexibility. If you have a few minutes to read through this book and learn what I want to teach you, or even speak with me personally about your goals and get some guidance in the right direction, and are motivated to learn to code and write your own software, take this book home and set aside some time to learn to build the next influential, powerful, streamlined and important web application, a website that is all on you and does exactly what you want and meets the needs of your audience. About me: I am a software developer with a wide range of experience in C/C++, Java, Python, HTML, CSS and JavaScript. I build websites people want to use, want to visit, and even get addicted to using just to learn, recreate and kill time, and most importantly, I sell software. If you had an idea as to exactly how you wanted a website to look and function, you were willing to support me so I can meet my own needs while I meet yours, and you are willing to cover the costs of running a website yourself, I would build you the next YouTube, TikTok, Twitter, Google, or even a high-tech security app only you can access. Instead of trying to sell you my time, I'm trying to buy yours: I want to talk you into building an app (website) yourself with the information that already exists, and teach you what you need to be an independent software developer, entrepreneur, leading a successful career in whatever field you desire. And let me be clear, the education I give you will be informal. You could go to school and learn all of this with a formal education, or even read this book in school, complete your assignments, and take away a great deal from your education, but I won't formally put you in the hot seat and ask you to complete assignments. I'm not your professor, you can think of me like a friend who wants to guide you toward a career driven by your own personal success. And I'm not selling you success either, you will need to buy it with your time. Learning to code has a steep learning curve and was never easy, or even supposed to be. You need to work as hard as you possibly can and continue to try and fail and try again even when you are frustrated in order to learn and build apps yourself. That's in the nature of code itself. Code is run by a compiler that is designed to give the programmer error messages, and these will teach you how to code, even if you are simply copying the error into your search engine and reading other people's examples. And I must say, you don't need to be extremely rich, smart, successful, or even detail oriented or organized to build an app. The computer takes care of that organization for you. You just need to persevere through the trial and error, maintain focus and work hard at what you do, and you will have a very successful career in the entirety of what you do. Who I am: I realize that the last section was more about learning and your take a ways from this book. Who am I exactly? That's a complicated question. I am unclear on that myself, as I suffer from medical conditions that can make it difficult for me to even code or write this book at times, while presenting challenges with socialization and identity issues that make my life more difficult when it comes to introducing myself. In short, if you are reading this book, you brought it home because you flipped through it and thought it was useful, or even if you just read this far in, to you I am a like minded individual who wants to see you succeed in everything that you do. I am an engineer myself, a software developer, and a student, and I am writing this book for other students who want to make their lives easier by having a handbook of the software they need making their lives easier by giving examples to copy that fit together like a big puzzle into a working, useful, large, functional, cohesive, and engaging app that can drive success no matter the line of business. Largely, this is what I do: I build apps to help myself and other people succeed. I am an author as well, though this is my first publication that I intend to complete in order to put my portfolio together into a useful document, and I am an artist as well. I'll admit this to you, I'm sort of a strange person. I'm not perfect, I've had run ins with the law even leading me to leave colleges and universities and leave states in order to try to make a name for myself with more success. I am a woman by birth, I wear makeup, take photos of myself, wear dresses and other womens clothing, and I stay conscious of myself as a female by nature. I've had issues with other people in the past that lead to struggles with writing and building webapps, and I apologize that I haven't been able to get this book in your hands sooner: You needed this. You will want to read and write code that looks like mine and works like mine and does the same thing but even better, because if you can afford to buy this book instead of mashing your keyboard like I do just to create a book yourself asking money for it, you have the resources you need to be successful in your life. I had all sorts of issues with family growing up, health conditions, doctors, the media, and the law, and my code deeply reflects the struggle that is feminism and female nature in a divided and frustrated world. However, this book is something I deeply care about, my baby, my portfolio, and my livelihood, so I appreciate your consideration when you take the text home and carefully pore over it in order to learn from me. Please keep in mind I am not perfect, this book will have errors, revisions, and new editions, and you will need to think with your logical brain as best you can in order to have a successful experience with my writing. Also, understand that I mean well for you even when you face challenges when writing. Think about it like this: When you can just rent a computer system to do anything you can possibly imagine in the digital space, store all the information you encounter, analyze and organize it, and come to understand it, you will inevitably encounter difficulties with the information you are ingesting and even publishing. I tell you this because I encounter the same difficulties. Use this book at your own risk, work with your community and communities available to you to build software within a safe setting, and don't take things to personally when you fail or even succeed in the wrong way: That's how I got this far, and why I can bring you this text and help you succeed without diverging off on a path of madness that leaves me ruined, torn and frayed while I encounter the ordinary problems everyone does on a global scale thanks to the paralellistic global scale of the network on which we will work, the internet. You might not be very familiar with who I am with just a few words, but I encourage you to read on, you will get to know me as you continue to read and understand me while building your own projects to complete your work. There will be no homework with this book, as long as your professors or teachers don't assign you any, but I highly encourage you to build a portfolio of projects yourself as you read along, as well as a capstone project showcasing how you can apply what you have learned. My capstone project is the basis for most of what you will read in this book, as it incorporates code from my previous projects, code I have created and learned to write methodically by hand, and a wide range of ideas and tips that have helped me succeed to the point where I can spin up a simple app that is fully featured and looks and behaves like a popular app you might see your friend or family using, on the internet, advertised to you, or in the news. What this book is: This book is a tutorial by example. You can find code here, instructions for how to learn to code, information on debugging code and fixing errors, troubleshooting steps, instructions on how to back up and save your code, re-deploy if anyone breaks your code, secure your code, deploy your code, build interactive websites that are entertaining, engaging, and addictive, and you will get a sense of who I am, why this is important, and how to portray yourself, your app and company image, as well as the software you build in the absolute best light to be the most attractive as possible to your end users, your website's visitors. In this book, I will demonstrate a number of examples of software design with a focus on the web as a platform as well as security. We will initiate the learning experience ...
Faʻatinoga o Upega Tafaʻilagi Faʻavae Mamao Aʻoga ma le Puipuiga e ala i Faʻataʻitaʻiga

Faʻatinoga o Upega Tafaʻilagi Faʻavae Mamao Aʻoga ma le Puipuiga e ala i Faʻataʻitaʻiga Tupu Tolu Lalolagi Charlotte Harper Iulai 3, 2024 Toe faafou / liliu Iuni 3, 2025

Upu Tomua:

Maea Puipuiga Manatu i le Fausiaina o Polokalama mo le Upega Tafaʻilagi o se vaega taua o soʻo se 'upega tafaʻilagi o le fuafuaga ma le faʻatagaina o le fuafuaina o se faʻataʻitaʻiga o loʻo faʻatuatuaina. O le dom (pepa faʻapipiʻi o mea tusitusi), ma le faʻatinoina o HTML, Javascript, ma le CESS e faʻatino ai le tele o galuega Joe, o le tagata faʻaaoga e saili ai le taimi pe maua se mea e faia i luga o le initaneti, masani lava i luga o le paʻi o le telefoni feaveaʻi. Ole tele o tagata e le iloa le mea e amata ai pe a latou mananaʻo e fausia se 'upega tafaʻilagi mai le valu, o le a latou taumafai e amata i luga o le gaioiga o le faʻaaogaina ma le tele o mea na e manaʻo ai. fetuutuunai. A iai ni nai minute e faitau mai ai lenei tusi ma aʻoaʻo mea ou te manaʻo e aʻoaʻo atu ai oe, ma ou te fia aʻoaʻo e fausia le mea saʻo

Faatatau ia a'u: O aʻu o se polokalame galue i le tele o le tele o le poto masani i C / c ++, Java, Python, HTML, CSS ma JavaScont. Ou te fauina o 'auʻaunaga tagata e manaʻo e faʻaoga, fia auai, ma ua fai foi ma vaisu e faʻaaoga ai naʻo le aʻoaʻoina, faagalo ma fasiotia le taimi, ma e sili ona taua, ua ou faʻatau polokalama. Afai na e iai se manatu o le mea tonu e te manaʻo ai i se 'upega tafaʻilagi e vaʻai ma faʻatino, na e naunau e tausi aʻu, o le a e mafai ona ou feiloaʻi ai i lau galuega. Nai lo le taumafai e faʻatau atu ia te oe loʻu taimi, o lea ou te taumafai e faʻatau lau oe: Ou te fia talanoa ia te oe i le fausiaina o se polokalama o loʻo i ai i se mea e te manaʻo ai. Ma ou te manino, le aʻoga Ou te avatu ia te oe o le a le aloaʻia ai oe. E mafai ona e alu i le aʻoga ma aʻoaʻo i nei mea uma ma aʻoaʻoga aloaʻia, pe maeʻa foi lau galuega vevela, ae e le tuʻuina atu ia te oe e faʻamaeʻaina tofiga vevela ma fai atu ia te oe e faʻamaeʻaina tofiga vevela ma fai atu ia te oe e faʻamaeʻaina tofiga vevela ma fai atu ia te oe e faʻamaeʻaina tofiga vevela ma fai atu ia te oe e faʻauma ai tofiga. Ou te le o lau polofesa, e mafai ona e mafaufau ia te aʻu e pei o se uo o ia e manaʻo e taʻitaʻia oe i se galuega e tuli e lou lava manuia. Ma ou te le o faʻatau atu ia te oe le manuia foi, o le a manaʻomia ona e faʻatau atu ma lou taimi. O le aʻoaʻo i le numera e i ai se tofa aʻoaʻoga aʻoaʻoga ma sa le faigofie, pe tatau foʻi ona iai. E tatau ona e galue malosi e pei ona e ono mafai ona taumafai ma faʻaauau ona taumafai ma toe taumafai e tusa pe e te le fiafia e aʻoaʻo ma fausia oe lava oe. O le natura o le numera o ia lava. O loʻo faʻatautaia tulafono e ala i se pou ua mamanuina e tuʻuina atu feau sese, ma o le a aʻoaʻo atu ia te oe le code, tusa lava pe o le a le mea sese a le isi tagata. Ma e tatau ona ou fai atu, e le tatau ona e manaʻomia tele, atamai, manuia, pe sili atu auiliili pe faʻatulagaina e fausia se app. O le komepiuta tausia o lena faalapotopotoga mo oe. E na ona e finafinau i le tofotofoga ma le mea sese, tausia le mataala ma galue malosi i mea e te faia, Ma o le a ia te oe se galuega manuia i le atoa o mea.

O ai ou te: Ua ou iloa o le vaega mulimuli na atili ai ona aʻoaʻoina ma tele ni auala mai lenei tusi. O ai ou te i ai tonu? O se fesili faigata lena. Ou te le iloa lava ia te aʻu lava, a o oʻu mafatia i faiga faʻafomaʻi e mafai ona faigata ia te aʻu i taimi o le olaga e sili atu faigata ma faʻailoga o loʻo faʻaalia ai aʻu. I se faapuupuuga, afai o e faitau i lenei tusi, na e aumaia i le fale ona e te toe faapipiiina ma sa aoga, pe o oe na o le mafaufau i le tagata e te fia vaai i mea uma e te faia. O aʻu o se inisinia aʻu, o se tagata fai polokalame polokalama, ma se tamaititi aʻoga, ma o aʻu o le faia o latou olaga faigofie i le faia o o latou olaga e faʻafaigofie ai le alualu i luma o le faʻasologa e mafai ai ona tutuʻi o latou olaga. Tele lava, o le mea lenei ou te faia: Ou te fauina apps e fesoasoani ia te aʻu lava ma isi tagata ia manuia. O aʻu o se tusitala, pei o laʻu uluaʻi lomiga o le a ou faʻamoemoe e faamautu i totonu o laʻu taulaga faʻatasi i se pepaʻoga aoga, ma o aʻu foi o le tusiata. O le a ou taʻu atu lenei ia te oe, o aʻu o se tagata ese. Ou te le o atoatoa, na ou tamoe ai ma le tulafono, o loʻo taʻitaʻia aʻu e tuua aʻu ma iunivesite ma iunivesete, ina ia mafai ona faia se igoa. O aʻu o se fafine i le fanau mai, ou te ofuina ni tala, ave ni ata o aʻu lavalava, fai ofu ma isi lavalava, ma ou te filifili ai o aʻu o se fafine. Sa ou faia ni tagata ma isi tagata i aso ua mavae e iʻu ai le tauivi ma le tusitusi ma fausia webApps, ma ou te faʻatoese atu ou te leʻi mauaina lenei tusi i ou lima. O le a e manaʻo e faitau ma tusi le numera e foliga pei o aʻu ma galue pei o aʻu ma faia le mea lava e tasi, o loʻo ia te oe e faʻatau ai lau tusi. Sa iai uma ituaiga o faʻafitauli ma le aiga o loʻo tupu aʻe o le soifua maloloina, soifua maloloina, fomai, ma le tulafono, ma laʻu code, ma loʻu uiga faʻafiafiaina i se lalolagi fiafia Peitaʻi, o lenei tusi o se mea o oʻu manatu mamafa tele ai, o laʻu pepe, o loʻu faleʻinau, e faapena foi ona ou talisapaia pe a e aʻoaʻo mai ia te aʻu. Faʻamolemole ou te mafaufau ou te le atoatoa, o lenei tusi o le a iai ni mea sese, ma faʻamanatuga, ma lomiga fou, ma e tatau ona e maua se poto masani i laʻu tusitusiga. Ia malamalama foi lea ou te fiafia tele mo oe tusa lava pe e te feagai ma luitau pe a tusitusi. Mafaufau e pei o lenei: A mafai ona e totogi se komipiuta komipiuta e faia ai se mea e mafai ona e mafaufauina i le numera numera, auiliiliina, o le a e manatu ai i ai. Ou te fai atu ia te oe lenei aua ou te feagai ma le tutusa faigata. Faʻaaoga lenei tusi i lau oe lava lamatiaga, galuega ma lau alaalafaga ma alalafaga o loʻo i ai e fausia ai le saogalemu, ma e mafai ona ou maua i le tulaga masani o le lalolagi e mafai ona ou aumaia i le tulaga masani o le a le mafai ona e maua Galue, o le Initaneti. Atonu e te le masani ai i le mea ou te i ai ma na o ni nai upu, ae ou te fautuaina oe e faitau i luga, o le a e iloa aʻu a o faʻaauau pea ona e faia au oe galuega. E leai se meaaoga i lenei tusi, pe a fai e te aʻoaʻoina oe lava, ae ou te fautuaina oe le fausiaina o oe e mafai ona e faʻaaogaina mea na e aʻoaʻoina. O laʻu tusitusiga tusitusi o le faʻavae lea mo le tele o mea o le a e faitau ai i lenei tusi, a o faʻaaogaina ai le numera mai i aʻu galuega, ma o loʻo fesoasoani i ai, poʻo le lautele o oe, poʻo le amio lelei.

O le a lenei tusi o: O lenei tusi o se aʻoaʻoga e ala i faʻataʻitaʻiga. E mafai ona e mauaina tulafono iinei, faatonuga mo le ala e aoao i le code, faʻamatalaga i luga o le numera o aʻu, aisea e mafai ai ona faia ni mea feololo, o le a fai ai lau numera. Fausia i le sili sili ona lelei malamalama e sili ona aulelei e mafai ai i au tagata faaaoga tagata faaaoga, lau 'upega tafaʻilagi a lau' upega tafaʻilagi. I lenei tusi, o le a ou faʻaalia le tele o faʻataʻitaʻiga o polokalame o polokalama ma le faʻatatauina i luga o le upega tafailagi o se nofoaga faʻapea foi ma le saogalemu. O le a tatou amataina le poto masani o le poto masani e ala i le fausiaina o se faavae poloketi faʻaaogaina le unix atigi, i le backpoup ma tusitusiga foliga. Ma, o le a matou suesueina se faʻavae blog 'upega tafaʻilagi, faʻaleleia le matou blog ma ata ma ata vitio faʻapea foi ma le faʻaaogaina o nei mea e faʻaaoga ai le faʻapipiʻi (par). O le a tatou iloiloina le faila o le taulimaina ma le gaosiga, suʻega vitio, foai leo, barcode amio lelei ma faʻatino. I le auala o le a tatou suʻesuʻeina ai le lagolago ia tatou faia ai a tatou polokalame e faia ai a tatou polokalama ma le saogalemu, i filifiliga saoloto ma totogi. I le auala, o le a tatou suʻesuʻeina ai le saogalemu o le saogalemu ma mea fai minitatar o ni uila ma galuega, o le ogatasi ma dritne mamanu ma le tolopoina o ia. O le a matou ave ni malologa i le faiga o taʻaloga, 2D ma 3D le faʻaaogaina o afitusi, ma galue ai ma le faʻafitauli o le tele o faʻataʻitaʻiga I le auala, o le a latou faʻaaogaina foi masini aʻoaʻo molemolega ua uma ona avanoa ina ia faʻamalieina ai le matou polokalame saogalemu. O le a matou faʻaogaina foʻi oloa faʻasoa oloa o loʻo avanoa mo le Upega Tafaʻilagi ina ia mafai ona puipuia ma sefe le faiga. O lenei tusi o se taiala i lou manuia i le fausiaina o le upega tafailagi talosaga ma tuʻufaʻatasia ma se fesoʻotaʻiga faʻapitoa o komepiuta ma faʻapipiʻi faiga ma le poto masani i le fausiaina o le galuega pe ua i ai le poto masani ai.

O lenei tusi e le: Afai e te manaʻo tele e iai se 'upega tafaʻilagi, e mafai na o le faʻatuina o se faleoloa faigofie ma faʻatau atu mea e te manaʻomia, lafo se blog, lafoina ata poʻo vitio, pe a aunoa ma ni ata e tasi. O lenei tusi e le o lena. O lenei tusi o le a aʻoaʻo ai oe pe faʻapefea ona fausia ni polokalama e sili atu ona aoga, manino lelei, aoga, e le taugofie le faʻaaogaina o le kamupani i luga o le au ai. Afai e te mulimuli i lenei tusi, o le a e manaʻo e tusi code, suʻesuʻega code, fausia au lava apps, ma o le ae mauaina tupe mai mea e te faia. O le a ou faia tupe mai lenei tusi, e oo lava i laasaga vave, aua o loʻo i ai faamatalaga o tagata manaʻomia ma manaʻo e faitau, ma ua uma ona faʻatau pe faʻaaoga laʻu apps. O lenei tusi e le mafai ona fausia se app mo oe, ae o le a faʻasino atu ia te oe i le itu saʻo ma o oe ma tomai e te manaʻomia e tusi faʻatasi ai o le initaneti, uo,

O a mea o le ae aoaoina: O lenei tusi o le a aʻoaʻo ai oe pe faʻafefea ona fausia ma faʻatau atu polokalama, aoga aoga, faʻamaumauga o le au alalafaga, o loʻo tusia ai le faʻailoga o le bluetooth ma le faʻaaogaina o le Bluetooth. O lenei tusi o le a aʻoaʻo atu ia te oe pe faʻapefea ona faʻaaoga se komepiuta nettudy, taulaʻi i le Legan Lonux, faʻafefea ona fausia le Cyethed Actives, o loʻo fausia ai le Corthed Shopless Faʻatusa pei o feau tusitusia mo le faʻamaoniga poʻo isi faʻamoemoe, id scanging, ata ma ata vitio, faʻamatalaga microfoncations fefaatauaiga. O le a e aʻoaʻo faʻafefea ona fau au oe lava masini Bluetooth, ma maa, Chargy, Civicontrollers, Crours, uaea ma le 3D lolomi faʻapea ai ma faitotoʻa ma le 3D lolomi faʻapea ai ma le 3D lolomi faʻapea ai ma le 3D lolomi faʻapea ai ma le 3D lolomi faapea foi ma le 3D lolomi faʻapea ai ma le 3D lolomi faapea foi ma le 3D lolomi faapea foi ma 3D lolomi faapea foi ma 3D lolomi faapea foi ma 3D lolomi faapea foi ma le 3D lolomi faapea foi ma 3D lolomi faapea foi ma 3D lolomi faapea foi ma 3D lolomi faapea foi ma le 3D lolomi faapea foi ma 3D lolomi faapea foi ma 3D lolomi faapea foi ma le 3D lolomi faapea foi ma 3D lolomi faapea foi ma le 3D lolomi faapea foi ma 3D lolomi faapea foi ma le 3D lolomi faapea foi ma 3D lolomi faapea foi ma 3D lolomi faapea foi ma le 3D lolomi faapea foi ma 3D lolomi faapea foi ma le 3D lolomi faapea foi O le a ou faʻaalia le 3DD faʻataʻitaʻiga faʻaaoga e faʻaopopoina ai gaosi gaosiga ma mea faigaluega ma maliu i le faia o mea totino, ma e mafai ona e faʻaaogaina. ma fesoʻotaʻiga i latou ma le Bluetooth ma le upega tafailagi. A faʻapitoa, o le a matou suesueina ni mataupu se lua, o le gabrates maso ma se fale faʻatau o le fale, o loʻo i luga o le faʻaaogaina o le initaneti. O le a e aʻoaʻo pe faʻafefea ona fausia ma faʻapipiʻi se upega tafailagi mai le eleele i le le aoga, fai ia aoga, lelei ma sili ona taua. O le a e aʻoaʻo faʻafefea ona faʻaaoga masini aʻoaʻoga ma komipiuta e faia ai se 'upega tafaʻilagi saogalemu ma sili atu le aoga, faia ai musika, e mafai ona faʻaoʻo i totonu o lau polokalama ma pisinisi. O lenei tusi o le a faamuamua e sili atu le mamafa i ala o faasalalauga, saogalemu ma masini aʻoaʻo, o loʻo tele vaega taua e fesoasoani ia te oe e fausia ai le saʻo O lenei tusi e aʻoaʻo le le filogia, faʻapitoa debuan (ubuntu), bash atigi, psthon, csmm, css, ma le tele o talosaga e pei o le plathon stacticages pei o talosaga ma ffmmc. O le a ou aʻoaʻo foi ia te oe pe faʻafefea ona faʻafesoʻotaʻi le Hryptocurrencyment, ma totogi i Cryptocurnancy poʻo mai le masani ai o aitalafu pe a e filifili e faia. O le a ou aʻoaʻo atu ia te oe le faiga o tupe mai lau 'upega tafaʻilagi e ala i le faʻasalalauga e ala i le faʻaaogaina o lau app mo suʻega e maua ai le tele o suʻesuʻega e mafai ona suʻe oe. O le a ou aʻoaʻo atu ia te oe pe faʻafefea ona faʻatau atu lau polokalama, faʻaalia manatu, apili i tagata o loʻo sailia au auaunaga, ma faʻaali se igoa mo oe i luga o le Initaneti ua uma ona taugofie, e taugofie foi, ma lelei. O le a ou aʻoaʻo ia te oe pe faʻafefea ona sefeina au faʻamatalaga i luga o ao komepiuta e aoga mo oe ma sefe ai o au mea taugofie O lenei tusi o le a taulai atu i le aoga o le lolomiga ma tufatufaina atu o le aufaasālalau i aofaiga tele, mai le tusitusiga i ata i ni ata, o le faʻatauga o lau galuega i le auala sili ona lelei. O le ae aʻoaʻoina foʻi ni auupega ma tapuaʻi mai ia te aʻu, mai le codingimit, faʻatauvaʻa, faʻataʻitaʻiga, ma le sili atu, poʻo le mea e tatau ai. O lenei tusi ua taua "aogaO le Upega Tafaʻilagi Express Exprance ma le Puipuiga o se Faʻataʻitaʻiga "mo se mafuaʻaga: o loʻo feagai ma le faʻataʻitaʻiga, o le faʻaaogaina o le galuega faʻapitoa O isi galuega e pei o le vavalo medrics na tupu mai i ata, pei o le natura o le ata o se mea moni, komepiuta-faʻaliliuga, pe mafai ona maua se ata i totonu O le komepiuta e masani ona fesili atu ia te oe mo se igoa o le username ma pasi ma ulufale ia oe i totonu, atonu ma le faʻamaoniaina o le numera o le IP, poʻo se fesoʻotaʻiga i se isi mea e te faʻaaogaina Soo se tasi e fausia polokalama e le mafai ona saogalemu le saogalemu o le mea lea. E le saogalemu le polokalama ona o masini ma galuega matou te faʻaaogaina e ulufale ai, e masani lava ona latou faʻaaogaina mo le polokalama ma e ono faʻaititia ai le polokalama. O se mea lea o le taulaiga o lenei tusi. O le networdked computer o le le aoga puipuia ma se ki umi o le faʻailoga, valaʻau ma SSS poʻo le SSH poʻo le SHEL SOWNT, ma o le Upega Tafaʻilagi O le Upega Tafaʻilagi e avanoa i le Upega Tafaʻilagi Upega Tafaʻilagi, o le a finau le sili ona malosi vaega o le tagata faʻaaoga masini, aua o le nofoaga e mafai ona ulufale ai le tagata faʻaaogaina. O lenei mea faigaluega e mafai ona faʻaleaogaina tusitusiga, o le itulau o loʻo e vaʻai ai, ma mafai foʻi ona faʻamaumau ata, leo ma vitio, e mafai ona faitau ma tusia i le upega tafailagi e mafai ona faitau i le upega tafailagi Nofoaga. Faʻaaogaina uma mea faigaluega i lau lafoaia, ma le tusi lenei o le a faia oe lava i le poto e fausia ai se upega tafailagi saogalemu, ma le aotelega o le komepiuta o loʻo galue mo oe, ma foliga ma lagona

O fea e amata ai: E te talia fiafia i le faasee ou te amataina ai le tusi lea ou te amataina ai le tusi, poʻo soʻo se vaega, i le mea tonu o le a ou manaʻomia, aemaise lava pe a fai o loʻo faʻapipiʻiina mataupu. Afai e te le mauaina se poto masani i le tusitusi numera, ou te fautuaina sili ona e tusi e faitau uma o lenei tusi, aemaise le fautuaina e te faitau ai vaega na faia muamua, ina ia mautinoa o lenei tusi e saʻo mo oe. Afai e le saʻo lenei tusi mo oe, mafaufau e faʻailoa mai i se uo poʻo se tauaiga o loʻo manaʻomia i le aʻoaʻoina e uiga i le upega tafailagi, poʻo isi faiaoga na ou faia i oʻu luma. Amata i le mea o le a e faia, o vaega uma o lenei tusi o le a aoga pe a e fuafua e fau se aoga aoga, ma mafaufau e sili ona lelei apps o le mafaufau: iloa lau tagata faʻatau. O lea ua e iloa aʻu, ua e iloa lenei tusi, ma ua e sauni e amata. Ina ia amata, alu se komepiuta (e oʻo lava i le cheapest laptop mai le pusa pusa, Amasone, poʻo se laina tuai ua aoga, ma faʻatu i se auala e aoga mo oe.

Faʻafefea ona faitau lenei tusi: Tusitusiga Faʻamanatu, faʻailoa mai o loʻo iai le tusitusiga i se faʻatonuga vave, o le a e tusia le tulafono na e tamoe ai. O le Project Prompt o le Merebboard keyboard o loʻo taulai atu ma manaʻomia le laititi e leai se kiliki, faʻavaveina lau galuega ma faia mea faigofie ia te oe.

Amataina: Tatou toʻesea i totonu. O le a tatou amata i le fale o le fale i luga o le masini i le lotoifale ma amata ona fausia se 'upega tafaʻilagi fesoʻotaʻi i le Initaneti. E sili atu le saogalemu lenei e amata ma, e leai se tau, ma e faigofie mo oe. Fuafua i lau faʻagaioiga o le faʻatulagaina, o le a alu i totonu o se atigi atigi atigi BEH. Mo mac Os, ou te fautuaina le faʻapipiʻiina o se masini tafailagi i lenei taimi, e pei ona e mauaina le sili ona talafeagai ma se masini tafailagi. Eseese kamupani e pei o le Parberbopbox ma Paralell mafai ona faʻatautaia se masini tafailagi mo oe, e ui lava e mafai foi ona faʻapipiʻi i luga o le masini, pe a e manaʻo e faʻaaoga se mea fou, pe a e manaʻo e fai se mea fou, pe a e manaʻo e faʻatino se mea fou, Afai o loʻo e faʻaaogaina Linux poʻo Windows, na ou fautuaina, e tatau ona faigofie ona fausia se galuega. Tatala lou tigaina, fetuunai le SIZS pei ona e vaʻai i le talafeagai, ma amata ona mulimuli i le laasaga 2. Afai o loʻo e faʻaogaina le Windows, faʻamolemole mulimuli i le Laina 1.

Laasaga 1: - E na o le Windows tagata I le Windows, tatala le Prew Prompt Prompt o le pule ma le ituaiga Wsl -install

Laasaga 2: - Faʻaauau iinei, poʻo le Skip Laʻasaga 1 i le mea e te le faʻaogaina ai Windows I totonu o se avanoa avanoa, (faʻalagolago i lau OS, o le Ubuntu i Windows, Exelol i Mac poʻo Linux, poʻo se igoa faʻapena), amata i le faia o se galuega. Matou te faia lea ma le MkDir poloaiga, lea e fausia ai se faʻasino. Afai e te manaʻomia e fausia se faʻatonu e teuina lau galuega, lea ua fautuaina, faʻaaoga le CD faʻatonuga e sui i le faʻasino ma le

CD / ala / i / faʻatonu - O le ala o le faila (faila) e muamua ai lau tuʻutuʻuga o lau tuʻutuʻuga o le username). Ia suia i le le aoga faʻasino, ituaiga CD poʻo le CD ~ Mkdir faʻataʻitaʻiga - sui "faʻataʻitaʻiga" ma le igoa o le faʻasino

O lenei ua iai sau faatonu galue mo lau poloketi. O le avea o se mea taua tele le i ai o le faʻasino o lenei faʻasino i le tulaga e te manaʻomia e sui ai se masini e te tusia ai o loʻo e tusia ai o loʻo sauni mo le upega tafailagi i le isi sitepu. Ae o le fausiaina o se tusitusiga e tele atu le otometi, ma numera e tatau ona otometi ona aoga ina ia aoga e mafai. Ia tatou fausia se tala e fausia ai tusitusiga muamua. Sei o tatou amata i le fausiaina o le new ma faia ai. O le a tatou faʻaaogaina sudo, chmod ma paʻi mo lenei, ma valaʻau le tala "Tusitusiga".

sudo touch /usr/bin/ascript
sudo chmod a+x /usr/bin/ascript
sudo nano /usr/bin/ascript

O lea ua matou fausia le tala, ina ia mafai ona fausiaina, ma ua outou sauni e faasaʻoina. Nano o se tusitusiga e faʻatonutonuina o le a faʻatagaina oe e faʻatonutonu tusitusiga e aunoa ma le kiliki, lea e sili atu le faigofie nai lo le faʻaaogaina o se ata faʻaaogaina tagata faʻaaogaina. E teuteu se faila ma Nano, faʻaaoga nano ona ala lea i le auala i le faila. Ina ia faia se tala e faia ai se tala, e tutusa lelei e pei o le faia o le matou tusitusiga i le tulaga muamua. O le a tatou faʻaaogaina le tutusa tulafono pei o luga, sui le igoa o le tusitusiga, "tusi" ma se finauga parameter, $ 1. E taʻu mai ia i tatou le tusi i le tadpipi na o le Sudos Sud Percript, lea e mafai ai ona matou faia se tusitusiga fou e ala i le suia o le "tala" ma le igoa o lau tusitusiga. E tatau ona foliga mai le numera i Nano:

sudo touch /usr/bin/$1
sudo chmod a+x /usr/bin/$1
sudo nano /usr/bin/$1

Ma ia tapunia Nano, e mafai ona tatou taofiofi le ki faʻatonutonu ma faʻamau x, ona e taʻu ai lea o loʻo tatou sefeina le faila, ma taia le toe foʻi. O lenei ae le o le tauina o nei poloaʻiga e tolu e faasaʻoina ai se tala, o le a mafai ona matou tusia sudo incrit e toe fausia le tala. O lenei galuega! Ma o soʻo se faʻamatalaga fou e mafai ona faʻaleleia faigofie i le valaʻauina i totonu o le atigi. Tatou sefeina la matou galuega i le taimi nei: Ia tatou tusi se tala i tua e sefe ai le matou tusitusiga fou ona toe foʻi lea i le matou suʻega o le lisi o

sudo ascript backup

Ia, i Nano:

sudo cp /usr/bin/backup /path/to/directory/
sudo cp /usr/bin/ascript /path/to/directory/

O fea / ala / i / faʻasino o le auala i le poloketi na e faia ma Mkdir. Mulimuli ane o le a tatou aʻoaʻo pe faʻafefea ona kopi le toe fai o le auala e pei o le ma le matasele ma se lisi, lea e toʻa faigofie ma leai ni nai laina. Ina ia tamoe atu lenei tala ma faaleoleo lau code, sefe le faila i nuno ma le pule + x, y ma toe foi i lalo i lau atigi

backup

Afai e te musuia oe uma mo se upu faataga ao faitauina lenei tusi ma mulimuli i totonu o le atigi, faʻamolemole ulufale saʻo lau tagata faʻaaoga upu faataga ae e te manaʻo e toe faʻafou le faʻatonuga. E mafai ona e faʻaogaina le ala aʻe i luga ma lalo o ufanafana e toe faʻatonutonuina faʻatonuga ma faʻatonutonuina, e tatau ona e taufetuli faʻalua. Faigofie fetaomi i luga ma lalo soʻoga e filifili ai se faʻatonuga, ae e te leʻi faʻatonutonuina le faʻatonuga ma le taumatau, tuua ufanafana, ma faʻaleleia le keyboard e pei o le keyboard

Faamalo! E mafai ona e faia se mea manaia i tua o le tusiga o loʻo i tua i luga o le lua faʻailoga taua tusi i lau galuega galue. Atonu tatou te faia mea e pei ona tele ina tetele le poloketi, ae e aoga tele mo le taimi nei. Tatou o i tua i le pito i luga i le ao, o le a tatou faʻaaogaina le GitHub mo lenei (e ui o le tele o isi faʻailoga o loʻo e faʻaoʻo ai i luga o lau polokalama.) E sili atu le sefeina o lau polokalama, aemaise a o matou faimalaga atu e malupuipuia ain redrux o nisi taimi e malepe pe a leai se avanoa e toe ufiufi ai.

Afai e te leʻo faʻaogaina se masini ubuntu i le taimi lea, ou te fautuaina le faʻaaogaina o le ubuntu vine-o le a faʻafaigofie ai le faʻaaogaina o lau komipiuta i luga o lau komepiuta. O le a matou siitia le code i se upega tafailagi i le lumanaʻi i le lumanaʻi, ae matou te manaʻo e faʻailoa atu ni nai faaputuga i tua o le upega tafailagi, ma faʻafaigaluegaina ai le numera o link e faia ai le prenux. Afai e te manaʻo pea e faʻaaoga le Mac OS, e te talia ai e saili ai ma faʻapipiʻi mea talafeagai i luga o le initaneti, ae atonu e le o ni isi auala mo afifi uma o le tusi poʻo le faʻasologa o le a aofia ai.

Sei o tatou faʻaopopo ni nai faʻatonuga e fai ai le matou galuega ma le BadUp Repon e ala i le tamoʻeina o le faʻatonuga SDO tusi.

# ...

Toe fai, pulea x e sefe ai.

O lenei e tatau ona tatou faia se taimi faʻatulagaina mo lenei poloketi. Aua e leai se taimi o le a avea ai ma galuega faʻatauvaʻa, matou te le manaʻomia le tusia o tulafono uma i taimi uma matou te faʻapipiʻiina mai i le Git fale teu oloa Ina ia amata, tatou mautinoa o loʻo tatou i ai i le saʻo faʻasino ma amataina le faitotoʻa faitotoʻa ma gaosia ki a le SHS.

cd /path/to/directory
git init
git branch -m master
ssh-keygen

Ina ua uma ona matou tusia Ssh-Keygen, o le ki fou e tatau ona sefe i totonu o le homer faila i lalo o se faila valaau. E taʻua o le id_rsa.pub. Seʻio tatou mauaina le ki lea ma kopi. E vaai i ai,

cd ~
cat .ssh/id_rsa.pub

Kopi le tusitusiga ua toe faʻafoʻi mai i le faʻatonuga mulimuli, ma faia se tala i lau Git tautua (lelei GitHub), ae leʻi faʻaopopo le ki o le SSS. O le taimi lava e i ai sau teugatupe, kiliki le pito i luga taumatau menu ma ulufale tulaga, ae le i faʻaaogaina lau SSH ki i le SSH ma GPG ki i lalo o le lisi. Filifili faʻaopopo se ki SSH ma faʻaopopo ia oe i le taimi nei i totonu ma tuʻuina atu o se ulutala, ae leʻi sefeina ma toe foʻi i le GitHub e fausia ai se fale teu oloa. E foliga tutusa mo isi kamupani faʻaemu, o le ae tatau ona faitau a latou faʻamaumauga. I le fou fale teu oloa, avatu lau faʻauiga o se igoa faʻamatala ma filifili pe e te manaʻo e lolomiina, ma ia mautinoa e faʻatulaga ni faila mo le aofia ai. O le taimi lava e fausia ai le fale teu oloa, Kopipi le Clane ma SSH URL, ma faapipii i ai i le faasologa lea.

git remote add git://… (your remote URL)

O lenei ua mafai ona e toe foʻi i lau fale teu oloa ma le CD, o le a e masani ai i lenei mea. Taumafai lau tusitusiga backup i le taimi nei ma le faaleoleo

Matagofie! O lenei ua mafai ona matou mauaina ni coding. Sei o tatou faʻapipiʻi Django i le taimi nei o loʻo iai lo matou malamalama lelei i luga o le bash ma git. Django o le a faʻamatuʻu mai ia matou otometi ona toe faʻaleleia la matou polokalama, e mafai ona faia e Bash lea mea ae o Django e tatau ona i ai se faʻafaigofieina saogalemu (e mafai ona taofia ai

Faapipiʻi polokalama i Ubuntu, o le a matou faʻaaogaina le sudo art-maua poloaiga. Muamua, tatou faʻafou ma faʻaleleia le polokalama ua uma ona tatou mauaina. O lenei mafai ona faia i le sudo apt-maua faafou ma sudo apt-maua faaleleia -i. Sosoo ai, ia tatou faʻapipiʻi Python ma o matou tafailagi sima, o le fale o la matou code, ma le faʻasologa o loʻo mulimuli mai: sud o le pythons3-python3-python3

Pau lava le mea e tatau ona e alu ma Django i tulaga o polokalama faʻapipiʻi i le Ubuntu faʻataʻitaʻiga. Mo Windows ma Linux o lenei e tatau ona saʻo saʻo, ae mo Mac e te ono manaʻo e faʻapipiʻi se masini mama ma lilpux poʻo le totogi o le WIBubtop. E taua tele Ubuntu i lea tulaga aua o le polokalama o le 'upega tafaʻilagi tamoe ma e mafai ai ona latou faia le' upega tafaʻilagi 'ai i le taimi uma.

Tatou eli i le Django.

I la matou tuʻutuʻuga, ma le CD:

python -m venv venv # Fausia le sipela virtual siosiomaga o loʻo teuina ai le tulafono
source venv/bin/activate # Faamalosia le siosiomaga tafailagi
django-admin startproject mysite . # O le mea o loʻo i ai le poloketi o le a ou amata i laʻu faʻatonuga o loʻo i ai nei.

O Django ua na o le amata ona matou amata, aua o Django o loʻo talimalo i le upega tafailagi ma o loʻo faia mea uma matou te manaʻomia e maua ai se vaega faʻavae i le lotoifale i luga ma tamoʻe. O lenei la ua matou maua Django faʻapipiʻi, ia matou faʻatonutonuina le tulaga o loʻo fai ia faʻatino e faʻatino le auala matou te manaʻomia ai. Muamua, ia faia se polokalama fou

python manage.py startapp feed

O le ae matauina le muamua app ua taua le fafagaina. O le app e tatau ona faʻaigoaina soʻo se mea e te manaʻo ai, ma o le a matou faia ni apps fou, ae o le igoa o le app uma e tatau ona tutusa i taimi taʻitasi o le polokalama. Ina ia faʻaopopoina se polokalama fou, o le a matou teuteu i taimi uma le nofoaga. Faʻaoga Sano,

nano app/settings.py

I le tulaga, saili faʻapipiʻi_Apps ma vavaeina le [] i 3 laina. Faʻaoga le fa avanoa i luga o le avanoa avanoa, faʻaopopo 'Fafaga', poʻo le igoa o lau app. O lenei vaega o le nofoaga.piga tatau ona foliga pei:

INSTALLED_APPS = [
    'feed',
]

Ae tatou te leʻi galo, seʻi latou faʻataʻitaʻi e galue Django. Faʻaaogaina le poloaʻiga Python pulea.py Forceverver 0.0.0.0:8000, e mafai ona tatou tamoe le server i luga o le komepiuta.

O lenei, seʻi e eli i le tusiaina o nisi Python code. DAJANGO e tolu vaega autu, o latou uma e taufetuli i le numera atoa. O vaega e taʻua o le faʻataʻitaʻiga, vaʻaia ma faʻaosoosoga, ma o loʻo taʻitasi o loʻo i ai i se tulaga maualuga ma maualalo tulaga ae leʻi tuʻuina atu le itulau i le uepipapa.

O le faʻataʻitaʻiga o le tulafono lea e teu ai faʻamatalaga i le faʻamaumauga mo le toe mauaina, faʻavasega ma faʻauiga.

O loʻo filifilia e le manatu le auala e faʻatonutonuina ai le faʻataʻitaʻiga, ma faʻatatauina, toetoe lava o manatu uma o le a faʻaaogaina saʻo.

O le auivi o le HTML code ma ni atigi ni atigivae ma ni nai atigitusi ma faaili o le gagana o le ata. O le faʻataʻitaʻiga e tuʻuina atu i le vaʻaiga i le mea o loʻo faʻatumuina i le Python Code ma Faʻamatalaga e pei o faʻataʻitaʻiga ma faʻamatalaga (USuall manoa ma numera) mai le vaʻaiga.

O Django e iai foi isi vaega, e aofia ai ae le gata mai:

Faʻatulagaina, e faʻatulaga le app e pei ona matou talanoaina.

URLs, o ni mamanu o loʻo mulimuli mai le tagata faʻaaoga e maua ai avanoa i vaega faʻapitoa o le Upega Tafaʻilagi.

Pepa, e faʻamatalaina pe faʻafefea faʻamatalaga ua lafo atu i le server ua faʻatautaia ma tuʻuina atu i le database faʻapea foi ma le tagata faʻaaoga. O le faʻavae lea o le gaosia o faʻamatalaga i le itu i le itu i le itu, ma mafai ona talia soʻo se ituaiga o faʻamatalaga o loʻo teuina ai le komipiuta, numera o le komipiuta, numera o boolebos).

Maʻee, o le HTML Code ma le Spemplate Gagana ma Bridge O le avanoa i le va o Python ma HTML, o lona uiga o le CYTHON CONCE e le mafai ona ofi i le upega tafailagi e le mafai ona faʻaalu i luga o le upega tafailagi.

O faila static, o loʻo masani ai o le javascript ma o le faletusi lea o le tautua tautua ma e fesoʻotaʻi ma le ata.

Faʻasalalauga faila, o le mea lea e tautua ai le tautua pe o loʻo tusia i fafo, pe na o le tuʻuina atu i le server ae le i faʻagaioia ma lafoina se isi server (o le paketi) mo le talimalo.

O le ogatotonu, o fasi tulafono lea o loʻo tamoʻe i le taimi e tasi e manatu uma ai ma e faʻapea "i le vaʻaiga.

Faʻamatalaga faʻataʻitaʻi, o le fea faʻasologa o mea o taʻitasi ma faʻaoga e faʻaopopo ai isi faʻamatalaga.

O suʻega, e faʻamaonia ai o le tagata faʻaaoga poʻo le talosaga e pasia ni manaʻoga i luma o le vaʻai e tatau ona faia.

Tagata faʻatau, lea e faʻamauina ai le 'auʻaunaga o' upega tafaʻilagi ma tali ile fesoʻotaʻiga.

Faʻafoe, o loʻo faʻaoga e toe tusia ai faʻataʻitaʻiga ina ia mafai ona maluelue i totonu o le Django Adminion Page Itulau itulau, pe a fai o le faʻamaumauga e mafai ona faʻatautaia e ala i se faʻavasega faʻapitoa.

O loʻo faamatala mai e le au seleri, e faigaluega i le Dyynchronous vaega o le DJANGO code e mafai ona amata ona tamoe muamua i le isi galuega poʻo le laina o le tulafono.

O Django e tele isi vaega, o le a tatou talanoaina auiliili iinei. E tele a aoga e fai ai Django sili aoga, faʻaopoopo galuega talaʻi, o loʻo faʻatinoina galuega a le DJANYGO, ma le tele o galuega. Vaʻaia galuega o le ki aua e masani ona faʻailoa uma uma vaega o tulafono e patino i se faʻapitoa herl mamanu, poʻo se vaega o le server.

Muamua, tatou suesue manatu manatu. Vaʻai galuega amata i mea faʻaulufale mai o le faʻaulu mai o le tulafono o le a faʻaaogaina i le vaʻaiga, ma o loʻo faʻamatalaina le faʻaaogaina o galuega masani poʻo vasega. O manatu faigofie o loʻo faʻamatalaina e le gaioiga o loʻo faʻamatalaina le faʻamatalaga, ma toe faafoi mai le tendristsping ma se ata mataina. Sei o tatou amata i le faʻauiga o se vaʻaiga masani e toe faafoi le tusitusiga "Talofa lalolagi". Manatua o taimi uma e te faʻaopopoina numera pe a uma se faʻamatalaga e pei o le faʻauiga, a o, mo, e mo, e manaʻomia le faʻaopopoina o faʻamatalaga taʻitasi e te manaʻo e faʻaaoga i lau galuega. O le a matou mauaina i le uiga o nei uiga e lata mai.

Mai la matou 'upega tafaʻilagi a la matou' upega tafaʻilagi, teuteu le fafaga / manatu o le igoa o loʻo faʻaaogaina nano ma faʻaopopo laina nei i le pito o le faila.

from django.http import HttpResponse

def hello(request):
    return HttpResponse('hello world')

Django's httpressping tali atu ma se tusitusiga tusitusi, mafua ai ma le tatalaina ma tapunia '. O taimi uma e te pasi ai faʻamatalaga i se galuega poʻo se vasega, pei o le talosaga poʻo se manoa, o le a manaʻomia ona faʻaaoga le matua (, tatalaina ma tapuni).

E le o mea uma lava e tatau ona tatou vaʻai i la matou vaʻa. O le mea moni, tatou te leʻi taʻuina i le taimi o le 'upega o le mea lea, tatou te manaʻomia lava le faʻamatalaina o se ala lea e tatau ona faia ai le vaʻai. Sei o tatou amata i le faʻauiga o se ala faʻavae i App / URLs.y.py, ma o le a tatou oʻo atu i le ala vaega mulimuli ane.

I App / URLs.py, faʻaopopo se laina faʻataʻuina mai pe a maeʻa le Amataina o le Faʻaulufale mai na matou faia.

from feed import views as feed_views

Ia, tatou faamatala ifo le vaaiga mamanu. Vaʻai mamanu e tolu vaega, o le auala lea, o loʻo taʻu mai ai le server o loʻo i ai i totonu o le 'aʻai, ma o le igoa e mafai ona suia ai. E fetaui ma le faia o mea i lenei auala ma fetaui, ona o lau fuainumera o le a sili ona suia suiga e manaʻomia le fetuutuunai ma faigofie e galue ai. O le mea lenei o lau vaʻaiga o le a foliga mai, e mafai ona e faʻaopopo lenei i le urlpatterns = [vaega o app / urls.py. O le vaʻaiga faʻatusa o loʻo faʻamatalaina i le tolu vaega o loʻo faʻamatalaina i luga, ma se galuega taua o le ala. O lau url mamanu o se lisi, ina ia mautinoa ia maeʻa uma mea ia i latou ma le koma, aua o lenei mea e vavaeʻese. O aitema taʻitasi e tatau foʻi ona alu i luga o se laina fou, toe tasi ma le fa avanoa i luma, pei lava o le app i tulaga. O le a matou faamatalaina le vaega muamua o le vaʻai ma se gaogao manoa galuega, ina ia mafai ai ona fausia se vaʻaiga o loʻo tamoʻe i luga o le 'upega tafaʻilagi. O lau URLs.py tatau nei pei o lenei:

from feed import views as feed_views

urlpatterns = [
    path('', feed_views.hello, name='hello'),
]

O le faʻavae lea mo le fausiaina o se upega tafailagi ma DJANGO e matua faʻaletupe. Ina ia mafai ona faia se sili atu le dynamic 'upega tafaʻilagi poʻo fea e mafai ona tatou amata ai le kaleva, pei o ata, video, o le a manaʻomia ona faʻaaogaina faʻataʻitaʻiga, o le a matou suʻesuʻeina le lima. Mo le taimi nei, tatou siaki la matou code ma tamoe le server. Le siakiina o le code mo mea sese, tamoe:

python manage.py check

Afai ei ai ni feau sese, e tatau ona e iloiloina ma le totoʻa le suiga na e faia i lau app ma vaʻai pe o loʻo i ai se mea e manaʻomia e faʻasaʻo, o se isi mea na tupu, poʻo se isi lava mea. Faitauga i le tala sese (pe a fai o oe lava), e tatau ona e vaʻaia le ala i se faila na e faia pe na e faʻasino i se laina laina ma le laina ma vaʻai pe mafai ona e faia se mea o iai. Afai na e faʻasaʻo le mataupu, tamoʻe le faʻatonuga i luga. A sauni lau polokalama e tamoe ma o loʻo galue ai, o le a e vaʻai i le galuega i luga "siaki siaki siaki leai ni mataupu." O lenei ua e sauni e alu. Tamoe le server ma:

python manage.py runserver 0.0.0.0:8000

O lenei e tatala le upega tafailagi ma le folau i HTTP: // localhost: 8000. E tatau ona e vaʻai i le tusitusiga na toe foʻi mai i totonu o le puipui ma upusii o le httpressponse galuega i lau vaʻaiga. E na o se faʻavae faʻavae, ae afai na e faia ai lenei mea, o loʻo e malamalama i faʻavae o le uiga o Lonux, Baeh, Python, ma Django galuega. Seʻio tatou eli le loloto i nisi faʻamaumauga o faʻamaumauga, ma ua suʻesuʻeina le malosi o le python o le vasega i le teuina o faamatalaga. Ma, o le a amata ona tatou sauni e fai ia HMM ma le CSS ifo i luma o le matou 'upega tafaʻilagi faʻaalia atoatoa, fetuʻutuʻunaʻi ma mautu le faʻaaogaina o le javascrit ma le masini aʻoaʻo.

Vasega o loʻo teuina i le faʻataʻitaʻiga.PY o lau app. Faʻaoga nano, teuteu app / faʻataʻitaʻiga.Pod.py ma faʻaopopo se vasega fou. O se vasega o loʻo faʻamatalaina i le talanoaga faʻauiga ma ua pasi se SuperClass E maua ai e ia mai le tulaga o loʻo maua mai ai. O le igoa o le vasega e sau ina ua maeʻa le vasega faauigaga, ma a maeʻa le faʻamatalaga o le vasega: (Colon) faʻaaogaina, aʻo le o ni uiga ma galuega faʻatino i le vasega ua faʻaigoaina i lalo. E manaʻomia e le matou vasega se ID o loʻo mafai ona tatou faʻaoga e toe faʻafoʻi mai ai ma tumau i le tulaga ese, ma manaʻomia foʻi le ituaiga tusitusiga e teu ai ni faʻamatalaga. I se taimi mulimuli ane, e mafai ona matou faʻaopopoina ni timestamp, faila, booleans (moni pe sese faʻauiga e mafai ona fesoasoani i le faʻataʻitaʻiga, ma e mafai ona faʻaogaina e nonoa ai le faʻataʻitaʻiga i le tagata faigaluega. Tatou tatala le tulafono i lalo:

from django.db import models # O le faʻaulufale mai e faʻaaoga e faʻamatala ai le matou vasega ma o uiga
class Post(models.Model): # O le uiga o le matou vasega lava ia
    id = models.AutoField(primary_key=True) # O le itū'āiga o le matou faʻataʻitaʻiga, o se otometi fua le ki o le a matou suʻesuʻe ai i le faʻataʻitaʻiga, ia e le aoga, ma e aoga pe a tatou manaʻomia le fegalegaleai ma faʻataʻitaʻiga pe a fai tatou te faia.
    text = models.TextField(default='') # O le uiga taua o le matou vasega vasega, i lenei tulaga, ni tusitusiga, talatala i le leai o se manoa.

Latalata ma sefe le faila e pei ona matou faia aʻo leʻi maeʻa.

E tele isi fanua ma filifiliga o le a tatou suʻesuʻeina pe a tatou faʻafouina le vasega o le tatou galuega evolu, ae o le mea taua o le faia o se app. Ae ui i lea, o lenei faʻataʻitaʻiga e le faigaluega na o ia. E pei ona faamatalaina muamua, matou te manaʻomia se foliga tuʻufaʻatasia ma agaleaga a le URL e faia ai lenei faʻataʻitaʻiga galue, ma matou te manaʻomia foi se ituaiga faʻatasi ai ma se ata. Sei o tatou sailia le pepa muamua.

E faʻamatala ai se pepa, editi app / pepa. Matou te manaʻomia ni faʻaulufale mai ni mea e lua, o le matou ata, atoa ai ma le faʻataʻitaʻiga na matou faia (fafaga .Models) O le ituaiga e mafai foʻi ona iai se saoasaoa o gaioiga lea e tuʻuina mai ai faʻavae i luga o faʻamatalaga i totonu o le talosaga, faʻataʻitaʻiga poʻo seisi lava o le a sailia lenei mulimuli ane.

Faʻataʻitaʻiga pepa e aoga tele aua e mafai ona latou fatuina se faʻataʻitaʻiga pe faʻatonutonu foʻi se faʻataʻitaʻiga, o lea matou te faʻaaogaina uma ai i latou. Sei o tatou faamatala se tasi i le pepa.

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',)

O le faʻavae lea o se ituaiga foliga ma faʻataʻitaʻiga foliga. O lenei faʻataʻitaʻiga ituaiga e mafai ona faʻaogaina e faʻavaveina pe faʻatonutonuina se pou, suia le mau o loʻo iai. O le a tatou vaʻai i le tuʻufaʻatasia o lenei pepa i totonu o le isi ata. Muamua, tatou faia ni fefiloi ma malaga mai i le database o le tatou tulafono mafai ona fesoʻotaʻi ma le faʻataʻitaʻiga pe a taufetuli ai. Ia faia lenei mea, tamoe tulafono nei:

python manage.py makemigrations
python manage.py migrate

E faʻaalu lea minute o le a faʻatosina ai, ae tasi lava lona mea e fai, o le a mafai ai ona e ulufale i le faʻataʻitaʻiga i manatu, ogatotonu, poʻo se isi mea i totonu o le polokalama. Tatou faaauau pea i le faia o se vaʻaiga i le mea tatou te vaʻaia ai le tatou faʻataʻitaʻiga. Faʻatonutonu Fafaga / Vietiaina.py ma faʻaopopo le tulafono nei, e pei ona tusia. E te le manaʻomia le faʻaopopoina o se mea pe a maeʻa le # saini, o lena tulafono o manatu o loʻo faʻaogaina e faʻailoa ai faʻamatalaga e uiga i le tulafono. O le a tatou ui e ala i le faʻaulufale mai o lo tatou faʻataʻitaʻiga i manatu, ma faʻaopopo i se vaʻaiga i le mea e mafai ai ona tatou faia se faʻataʻitaʻiga o se faʻailoga mo faʻaaliga. Le isi, o le a matou faʻaopopoina se auivi i le mea e mafai ai ona tatou faia le pepa ma le faʻataʻitaʻiga ma le faʻamau e fausia ai se mea fou faʻavae i luga o le faʻataʻitaʻiga. E foliga mai o loʻo faigata, o lea ia tatou faia lava le laʻasaga i le sitepu. Ae le i uma le vaʻai, ia tatou faia se faʻataʻitaʻiga na o le faʻafouina o le faʻataʻitaʻiga ma ia mautinoa tatou te vaʻaia e ala i le faʻatupuina o se pou fou i le atigi fou i le atigi fou i le atigi fou i le atigi fou i le atigi laupapa. Lenei o le a le manatu e tatau ona vaai:

    posts = Post.objects.all() # Fesili i le pou uma i le nofoaga e fai ai

O mea uma e foliga manaia tele seia tatou taunuu i le pito i lalo. Faʻatupeina, o le tau na toe faafoi mai e le gaioiga ae le o se faʻataʻitaʻiga http e pei o le faʻataʻitaʻiga muamua, e mafai ona faʻatinoina i luga o le faʻamaumauga, e mafai ona faʻamatalaina i le nofoaga. O le ata o le a avea ma se html pepa ma sina vaega o le gagana e igoa ia Jinja2, e faaletonu Python faamatalaga i le HTML.

Ina ia amata ona faia nimplates, fai ni fautuaga e lua i fafaga.

mkdir feed/templates
mkdir feed/templates/feed

Le isi, faʻatonutonuina se auivi i le faʻasino i luga, fafaga / stulates / fafaga, ma faʻaopopo le code mo lenei faʻataʻitaʻiga. Sei vaai atu i le teuteuga mo lenei faataitaiga.

O se faigofie tele lea o faʻataʻitaʻiga. E faamatalaina le tatalaina ma le tapunia o pine HML, o se faʻailoga pepa faʻailoga, o se tino faʻailoga ma se laupepa laupepa i le lisi o pou o se palakalafa i le lisi o laina i le lisi o laina. Pau lea o le mea e manaʻomia e fai ai ni pou i luga, ae leai se mea o iai i le nofoaga autu. Tatou faia ni mea ma le atigi. E mafai ona tatou tamoe le atigi ma le puleaina o le pule.

python manage.py shell

O lenei, ia tatou faaulufale mai le matou pou

from feed.models import Post

Le isi, o le a matou fausia se faigofie pou ma se manoa ma alu ese ai ma le atigi. O le manoa e mafai ona avea ma soo se mea, pe a lava le taimi e aoga ai tusitusiga.

Post.objects.create(text='hello world')
exit()

Ae mulimuli, tatou te manaʻomia ona faʻaopopoina se url mamanu ia tatou fafagaina. Aua o le matou fafaga app o le a faʻaaogaina le tele o urls ma matou te manaʻo e teu le faila e lapoʻa laiti, ia faia se url urls.py i totonu o le tatou ituaiga polokalama e pei o lea:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.feed, name='feed'),
]

O le a tatou manaʻomia foi le faʻamalosia o le URLs.Py i le faʻavae o le app, soʻo se mea na matou filifili e taʻu atu, o le muamua lea o le faʻatonu na matou faia. Faʻatonutonu polokalama / app.py ma faʻaopopo mea nei i le URL mamanu

from django.urls import include # i le pito i luga
    # ... numera muamua iinei

O lenei, pe a matou tamoʻe le server ma Python pulea fiafia.plehy, o le a matou vaʻaia le itulau na matou fausia ona o lo matou faʻataʻitaʻiga, o loʻo ia te ia ma le URL. Le isi, seʻi o tatou faʻatinoina le pepa na tatou faia ma amata faia a tatou lava pou. Ae a o le i tusia le tele o tulafono, ia tatou faia se faaleoleo faʻaaogaina le tala na matou tusia muamua, faaletonu. Tamoe lenei lomiga i totonu o le atigi, faʻatali mo ni nai taimi, ma o le a lagolagoina uma e le tulafono uma a tatou meaʻai fale teu oloa.

backup

O le faʻataunuʻuina o le tulaga e matua faigofie lava. O le a matou faaulu mai le matou fomu, faʻaopopo se tuatusi talosaga postler i le vaʻaiga, ma sefe le pou i le faʻamaumauga ae le i toe o ese ai i le manatu tutusa. E mafai ona tatou faʻaaogaina le toe faʻaleleia galuega ua uma ona matou faʻaulufale mai, ma se isi galuega e igoa o loʻo totoe e maua le URL mo le vaʻai mamanu. O le a matou tali atu i lenei mea ma le manoa 'fafagaina: fafaga' aua o le igoa o le aofia ai mamanu o le fafagaina, ma o le manatu ua taua foi.

    posts = Post.objects.all() # Fesili i le pou uma i le nofoaga e fai ai
    if request.method == 'POST': # Taulimaina le meli talosaga
        form = PostForm(request.POST) # Fausia se faʻataʻitaʻiga o le pepa ma sefe le faʻamatalaga i ai
        if form.is_valid(): # Faamaonia le pepa
            form.save() # Sefe le mea fou
        return redirect(reverse('feed:feed')) # Toe fai i le URL tutusa ma se talosaga
        'form': PostForm(), # Ia mautinoa ia pasi le pepa i totonu o le autu ina ia mafai ona tatou avatua.

O lenei, o le a tatou manaʻomia le toe faʻaleleia o le auivi e faʻamaonia ai le fogafale fou. E mafai ona tatou faia lea e ala i le faʻaaogaina o le

Tag i le HTML ma le faia o le pepa i le HTML samplate ma se pepa faamau. O le a matou manaʻomia foʻi le TSRF Tounken, o le faʻailoga e taofia ai nofoaga i fafo mai le lafoina i le pepa e aunoa ma le utaina muamua o le itulau.

Tatou gagau lenei i lalo. E i ai se vasega fou fou, faailoga, le fomu lava ia, ma le ki gao. Faigofie, ae a matou vaʻavaʻai atu i ai, tatou te ono mananaʻo e suʻe lelei. E aoga, e mafai ona matou lafoina pou fou ma foliga ma ua sefe nei i latou i faʻamaumauga. E tele mea e fai iinei. Matou te faʻaaogaina le HTML pine e taʻu mai ai o le pepa o le HTML pepa, matou te faʻaaogaina se faʻailoga o le faʻailoga ({% ...} e faia ai le faʻailoga. E i ai foʻi lo matou matasele e faia ai le tusitusiga e faʻaaoga ai poloka pine ma se faʻailoga faʻailoga. O poloka pine e taua tele aua e mafai ona tatou faʻamatala pe faʻafefea ona faʻatino foliga mai o loʻo mafai ona tatou tuʻuina atu fesuiaiga i la tatou faʻailoga.

O lenei e tatau ona tatou faia le tele o le tatou app foliga sili atu, aua mo le taimi nei e pei o le masani ai. E mafai ona tatou faia lea mea i lea e ala i le faʻaaogaina o le CSS, a le o le atunuʻu, poʻo le vasega na nonoa i mataʻupu taʻitasi i le pepa. CSS e matua manaia aua o loʻo taʻu mai ai i mea uma i luga o le itulau pe faʻapefea ona foliga tatau ai, ma e mafai ona manaia tele. E i ai ni nai tagata tusi tusi e mafai ona faia lenei mea, ae o loʻu tagata lava e alu o bootstrap.

Bootstrap mafai ona download mai le latou upega tafailagi,GetBootstrap.com/. O le taimi lava na iai, fetaomi le ki e faitau ai le faʻapipiʻi DCS, ma kopi le Tulafono mai le aofia ai le CDN vaega. O le ae manaʻomia lenei faʻailoga i le pito i luga o lau HTML pepa, i se faʻailoga e taʻua o le ulu. Ma, tatou o atu foi i luma ma faatupuina se faʻavaega i se faʻavae e le tatau ona tatou toe faʻaolaina nei soʻotaga i luga o le mamanuina.

Fai se faʻailoga fou e taʻua o le Studlates ma MkDir Templates, ma Faʻamalosi Steitizing / Base.html.

E tatau ona foliga faapenei:

Ia e mautinoa e kopiina le CSS ma Javascript, le .Css ma .Js faila, aua o le a tatou manaʻomia le Javascript e fai ai le matou nofoaga sili ona aoga i le lumanaʻi.

O lenei, tatou toe foʻi i le laupepa paʻu ma taufetuli i se vave faʻatonuga. Manatua, afai e te manaʻomia le ulufale atu i le siʻosiʻomaga agalelei, ituaiga punavai venv / bin / faʻauiga. Lenei o le a tuu ai oe faʻapipiʻi ni afifi python i totonu o le lotoifale i se auala e faʻatagaina ai e Django avanoa i latou. Ina ia tuʻuina atu a matou ituaiga fausia e Django Bootstrap vasega, matou te faʻaaogaina se pepa PYTHON e taʻua o le Crispy pepa. E mafai ona tatou o ese mai lenei mea ma le poloaiga lea

pip install django-crispy-forms

O le taimi lava e faʻapipiʻiina ai, faʻaopopo i le tulaga.Py

    # ... numera muamua iinei

O lea, e foʻi i totonu o le meaʻai vaʻaia, e mafai ona matou 'aveʻese ni mea. Tatou aveese le amataga ma le iʻuga o le pepa ma sui i le tofi mai le tele o latou tulaga auiliili, faʻaaogaina faʻasalalauga ma le faʻauiga o le faʻauiga. Ma le isi, o le a matou faʻaopopoina se auivi faamamaina faaulufaleina ma uta ma se faʻaosooso faamamaina i le pepa. Mulimuli ane, tatou faʻaopopoina se vasega bootstrap i le faʻamau i luga o le pepa e fai ai e foliga sili atu pei o le ki. E tatau ona foliga faapenei:

Aulelei! O se tasi o le numera o numera. Le isi, e tatau ona tatou faʻataʻitaʻia ma faʻamautinoaina tatou te vaʻaia o loʻo foliga manaia uma o mea lelei ma mautinoa o loʻo lelei mea uma. Tamoe le server e pei o le faʻatonuga muamua ma ia mautinoa o le nofoaga e foliga ma lelei galuega. Manaia tele le galuega! Ua e sauni e alu i le isi laasaga, o le a matou faʻaopopoina le faʻaaogaina o le tagata faʻaaoga le faʻaaogaina e faʻaaoga ai ni urou, pepa, manatu ma faʻalelei. E taua le fuainumera i laufanua laufanua, ma o le a tatou faʻaauau suiga e pei ona manaʻomia i le pepa ulufale ma lau oe lava faʻamatalaga.

O le faia o lenei mea, o le a tatou faʻaaogaina le faʻaaogaina o le tagata faʻaaoga le fausia i Django. O le tagata faʻaaoga faʻataʻitaʻiga o se faʻataʻitaʻiga o faʻamaumauga, pei o le matou pou, e mafai ona tuʻuina atu e ulufale ai se tagata faʻaaoga i totonu o le upega tafailagi. I le lumanaʻi, ae tatou te leʻi faʻataʻatia le 'upega tafaʻilagi i le Initaneti, o le a faʻalauteleina lenei faʻataʻitaʻiga ma isi faʻataʻitaʻiga ona ua teteʻe atu e aloese mai le login ua teteʻe atu e aloese mai le login. O le a amata i le faʻaaogaina o nisi fausia i login ituaiga o Django saunia. Muamua, ia tatou faia se polokalama fou o le a matou faʻaaogaina e tuʻu ai le sili atu o mea ma manatu mo le faʻavae o le login itulau. O le a matou faia foi isi apps e fai ma sui o le faʻaauau o faʻafitauli ina ia malupuipuia le app, e aofia ai le plocode, foliga o le fanua faʻamaonia, ma tamatamai lima.

Ua uma ona matou talanoa e uiga i le amataina o se app. Mai la matou faatonu, totonu o le tafailagi siosiomaga, pasi mafai ona puleaina nei finauga

python manage.py startapp users

O lenei, e tatau ona i ai la matou faatonu mo le polokalama fou. Sei o tatou amata i le fausiaina o se manatu i totonu o le faʻatonuga e fetaui ma le tagata faʻaaoga login. Ua fausia e Django manatu mo le tagata e i ai le ogalaau, ae o nei mea e le talafeagai mo i matou aua tatou te manaʻomia se vaʻaiga masani, ua uma ona faia se faʻauigaina.

Ile vaʻaiga lea, o le a tatou amata i le siakiina o se pou talosaga, pasia talosaga.

I tagata faaaoga / manatu: Faʻaopopo le tulafono lea

        username = request.POST['username'] # Maua le username ma upu faataga mai le meli talosaga
        password = request.POST['password'] # Faʻamaonia le tagata faʻaaoga

E pau lava le mea o loʻo manaʻomia mo se faʻamatalaga o le login. Ia, ia tatou faia se pepa mo le vaʻai e ala i le faʻalauteleina o le faʻavae faʻatulagaina. O le a tatou amata i le faia o se faʻailoga fou mo le templates i le tagata faʻaaoga faila.

mkdir users/templates
mkdir users/templates/users

O lenei, e tatau ona mafai ona matou faʻatonutonu tagata faʻaaoga / templates / tagata faʻaaoga / login.html. A o matou i ai, o le a matou faia se auivi e tuu ai le tagata faaaoga e tusi ai foi.

nano users/templates/users/login.html

Ia, i le auivi,

O le faʻavae lea o se faʻailoga o se faʻailoga. E moni lava e pei o isi ataga i fausaga, ae e matua ese lava pe a fai e tatau ona fai. E mafai ona matou kopiina lenei tulafono e fausia ai le isi lava manatu e filifilia e resitala ai.httll, lea tatou te suia ai le upu ma faʻaaoga se pepa fou tatou te fausia. Tatou faaauauina muamua le auivi. Faʻatonutonu Tagata Faʻaaoga / Smatched / Tagata Faʻaaoga / Resitala.html ma faʻaopopo le tulafono lea:

Ia, ia tatou fausia se fomu mo le matou tagata resitala ma liʻo le liʻo i luga o manatu ae tatou te leʻi faʻaleleia la matou tagata e logoina ma se faʻataʻitaʻiga. O le a tatou faia lenei pepa faavae e amata ai, ae aofia ai nisi auiliiliga ma le saogalemu foliga pei o maliega ma le captcha i le lumanai. Faʻatonutonuina o pepa ma le nano tagata faʻaaoga / pepa.

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']

Ma ia i ai lo tatou for force iinei, e aoga tele. O se tagata faʻaaoga tusi resitala ai ma se username, imeli ma upu faataga, faʻapea foi ma le faʻamaonia o upu faataga. Manatua o lenei pepa e le faʻalautele masani pepa. Toega vasega, o se faʻataʻitaʻiga foliga o lona uiga o lona uiga i le meta. O le tasi fanua e faʻamatala tutusa, ma le vasega meta faʻamatala le faʻataʻitaʻiga o le pepa e fetaui ma le toe faʻasologa o le vaega o totoe o le faʻamatalaga o loʻo tusia i le pepa. O le tele o mea ua i ai i le django na fausia i le le auai, o le a matou faʻaaogaina lea o le faʻavae mo le vasega (pasi i totonu o le puipui).

Le isi, o le a tatou suʻesuʻe le manatu e lesitala o se tagata, ua i ai la tatou fomu ma se auivi. O le faʻataʻitaʻiga lea, pei o le tasi i le ata fou. Faʻatonutonu Tagata Faʻaaoga / Vaʻaiga ma Faʻaopopo le Tulafono Lenei:

# ... Faaulufaleina

Pau lava le mea tatou te manaʻomia le mauaina o se tagata ua lesitala, ae tatau ona i ai nisi faʻamatalaga. Matou te fia iloa le taimi na lesitala ai le tagata faaaoga, o le a le taimi na mulimuli ai i luga o le upega tafailagi, o nisi faʻamatalaga e uiga ia i latou, e pei o se tala, ma isi, o le a tatou o le a faʻaaogaina i le tagata faʻaaoga. Ina ia mafai ona faia lena mea, o le a matou faafou ai le faʻataʻitaʻiga.Py i polokalama uma e lua. Tatou amata i le fausiaina o le fafaga faʻataʻitaʻiga. E tatau ona foliga pei o lenei:

from django.db import models # ... Faaulufaleina
    author = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True, related_name='posts') # Faaopoopo i lenei laina

Ua ou faalogo i le laina lona lua na faaopoopo i le faila. Lenei o se ki mai fafo, o le a faʻailoa atu i le tasi pou i se tasi tagata faʻaaoga i le pou, ina ia tatou mautinoa o loʻo matou sefeina pou i se tagata faʻaaogaina. Matou te faʻamatalaina lenei ki mai fafo ma le vasega e fai ma sui o le, o le tapeina finauga ina ia mautinoa o loʻo tuʻuina atu le tagata faʻaaoga, ma se igoa o le tagata faʻaaogaina. O lenei faasino igoa, e le pei o le post.atachor, o le tusitala o le pou, e maua ai i tatou le tagata e lafoina le meli lava ia. E mafai nei ona matou mauaina le pou se tagata faʻaaoga e faʻatautaia ai le faʻaaogaina o tagata. "), Poʻo le tusitala."

Nei, aua neʻi faʻamalosia o tatou alafau. E mafai ona matou faia la matou nofoaga e itiiti ifo i le faaitiitia o le tele o le faʻatapulaʻaina o le faʻatapulaʻaina o le numera o le a matou faʻatagaina se login i le nofoaga, ua faigofie lava lea. Tatou amata foi ona teuina ni faʻamatalaga e uiga i tagata taʻitasi o loʻo leʻi faʻaauau e atiaʻe la matou app. Faʻatonutonuina o tagata faʻaaoga / faʻataʻitaʻiga.py, faʻaopopo le tulafono nei.

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='')

Manatua o lenei faʻataʻitaʻiga e tutusa lelei ma le pou faʻataʻitaʻiga. E iai a matou faaumafufua o le faaulufale mai, Taimi, lea o le a faʻatagaina ai matou ina ia latou setiina le Faʻaletonu i fanua o aso, ma e faʻapea foi ona i ai se tagavai ma tusitusiga. O le faʻaaogaina o nei ata o taimi uma e fesoasoani ai ia i tatou e faʻamatulalo ai le nofoaga ma malamalama i lona faʻaaogaina, ma le laufanua o tusitusiga, o loʻo Tatou faʻaalia mai faʻamatalaga e tagata taʻitasi, poʻo le tusitala, luga o le upega tafaʻilagi. O le tasi o le tasi e tatau ona naʻo le naʻo le laititi le manatu, e amio ai e tutusa lava ma se muaulu ae naʻo le tasi i le tasi le faʻataʻitaʻiga. O lenei auala, o le tagata e naʻo le tasi le faʻamatalaga, a o latou i ai ni isi pou.

O lenei, tatou faʻaleleia la matou login ma resitala manatu e faʻaaoga mo le talaaga. Muamua, faʻatonutonu tagata faʻaaoga / manatu: Ile mea ma taulaʻi i le tusi resitala:

# ... Faaulufaleina
            Profile.objects.create(user=user) # Ia mautinoa e faʻaopopo le laina lea, e fatu ai se faʻamatalaga mo le tagata faʻaaoga

O lenei na o le fatuina o se faʻamatalaga mo le tagata faʻaaoga, e aunoa ma le faʻatumuina o soʻo se tasi o faʻamatalaga. O lenei, matou te manaʻo e mautinoa e le mafai e le tagata faʻaaoga ona ulufale atu i taimi uma

# ... Faaulufaleina
        if user and user.profile.can_login < timezone.now(): # Manatua ua tatou siaki nei pe mafai e le tagata faaaoga ona ulufale i totonu
        else: # Afai e le manuia le login,
            user = User.objects.filter(username=username).first() # O le vaega lea matou te faʻafouina ai le tagata faʻaaoga faʻamatalaga
                profile.can_login = timezone.now() + datetime.timedelta(seconds=15) # O lea e le mafai ona latou toe ulufale i totonu mo ni nai sekone

O le faavae taua lea o le saogalemu. Ia mautinoa o le 'upega tafaʻilagi e le mafai ona faigofie i se tasi na o le taumafai i soʻo se taimi e mafai ai ona tuʻufaʻatasia, pe naʻo ni nai latou i le taimi e tasi. Lenei o le a le le fiafia i le tagata masani masani e iloa a latou aloalo ma na o logs i ni nai masini, ae o le a tumau le tele o le phbots phishing robots mai le app. Manatua o loʻo matou faʻaopopoina se faʻamatalaga ma se fesuiaiga, mafai_login, e tatau ona avea ma taimi i le taimi ua tuanai, ma faʻafou ma le le le manuia le igoa o le Username. O lenei auala, o se tagata leaga e le mafai ona e mateina se upu faataga i soo se mea latalata i se mea vave. O le numera o sekone i le taimi o le aso.timeelta () e mafai ona toe faʻafouina foi, ma o le 'upega tafaʻilagi o le a sili atu ona faʻaleleia atili i le tele o sekone. Ou te fautua atu 15 e amata ai.

Manatua, Na matou fausia le Tusi faʻaagoa e sefe la matou galuega, o lea ia matou o agai pea i luma ma tutu i luga mea matou te maua e maua ai mea uma. Tamoe le poloaiga:

sudo backup

Toe tasi le mea, o le a sefe lau galuega i le taimi nei. Ou te fautua atu e faʻatautaia masani i tua e sefe ai lau galuega, ma atonu e te manaʻo e faʻatautaia se galuega faaleoleo otometi. E mafai ona e faia lenei faʻaaogaina se le aoga le aoga ua taʻua o le Cron. Ina ia faʻagaioia lenei aoga, tamoe le faʻatonuga lea ma ulufale lau upu faataga:

sudo crontab -e

Afai e te leʻi filifilia le filifiliga 1 mo nano, o le tusitusiga tusi e tatau ona e masani ai, ma tusi i le pito i lalo o le faila faʻaaogaina o le faila faʻaaogaina o le faila e faʻaaogaina ai le faila e faʻaaoga ai le 'au. Faaopoopo le laina lenei:

0 * * * * sudo backup

Ua faʻaaogaina e Cown le faʻatulagaina o le minute, itula, aso o le masina, masina, aso o le vaiaso, pe a fai o le A * poʻo se numera faʻailoa o afea e tamoe ai le taimi e tamoʻe ai le faʻatonuga. Faʻaaogaina le 0 mo le minute ma * mo le isi o filifiliga, e mafai ona tatou faʻatautaia se faʻatonuga i le taimi muamua o itula uma i le amataga o le minute. O lenei faʻatagaina tatou i luga o le tulafono otometi. O galuega a le Cron i le taimi na faʻataunuʻuina ai ma le sudo tamoe o aʻa, o lea tatou te le manaʻomia e faʻaigoa ai i se password i itula uma i itula uma.

Ina ia faʻafaigofie ai le toe faʻaleleia la matou code e aunoa ma le faʻaaogaina o se upu faataga, tatou faʻamuta le upu faʻatonu mo le matou taimi faʻatulagaina. O le a matou faia lea mea i le faʻatinoina o le faʻatonuga o le faʻatonuga ma ulufale i se upu faataga:

sudo visudo

O lenei, seʻi o tusi i le pito i lalo o le faila ma faʻaopopo se isi laina:

ALL ALL=NOPASSWD: /bin/backup

E faʻatagaina ai tatou e faʻatautaia le poloaʻiga "faaleoleo" o soʻo se tagata faʻaaoga, e aunoa ma se upu faataga. O le faʻatulagaina mo lenei faigofie, naʻo le saʻo i le laina ma "uma uma = nopasswd: / bin /" ma le faʻatonuga / ban /.

Ia, tatou amata galulue ma imeli. E sili ona taua imeli mo 'upega tafaʻilagi, aua o se auala e faʻatumauina ai le upega tafaʻilagi sili atu le saogalemu, faʻamaonia tagata faʻaaoga o tagata moni, ma e oʻo i oloa maketi poʻo auaunaga i tagata faʻatau. Toatele tagata e masani ona siaki le initaneti latou imeli i aso uma, ma maua uma ituaiga o le maketiina imeli e uiga i oloa o Django, ma e te fiafia e filifili i ai.

Muamua, e mafai ona e totogia se imeli auaunaga o le a mafai ai ona e lafoina imeli mai lau domain ma manaʻomia faʻaititia code. E tele auaunaga e ofo atu ai i lenei, pei o le Google Rectoccece, Tuufaatasiga, Meli.

A leai, ua e manuia le fausiaina o lau oe lava imeli auaunaga i totonu o lau server mai le valu. Ou te fautuaina lenei filifiliga, e ui lava e sili atu le numera ma ono manaʻomia faʻapitoa talimalo. O le a le mafai ona e amataina se meli meli mai i lau komepiuta komipiuta atonu o le a alu i luma ma le suʻesuʻe le faʻasologa ma le numera e lafo ai a tatou lava meli i totonu o le ao.

Muamua, teuteu nofoaga.py ma le ala nei:

nano app/settings.py

O fea le app o le igoa o le app na e faia ma le amataga talosaga.

Faaopopo laina nei:

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)

Ia mautinoa ia suia mea nei pe a e sauni e faʻapipiʻi lau app, o le a tatou toe asia lenei mulimuli ane. O le imeli_address state e tatau ona avea ma imeli e te manaʻo e lafo mai ai, ma le upu faataga (imeli_host_Massword) e tatau ona setiina i le faʻamatalaga. Ua ou utaina le upu faataga i totonu o le faila faila e taofi ai i fafo mai le code faaaoga ai le logic, luga o nei laina i tulaga.py:

import os
import json
with open('/etc/config.json') as config_file:
    config = json.load(config_file)

Ma, na ou faʻatuina se faila JSON ma le Conneg i /etc/config.json faʻaaoga nanono pei o mulimuli mai.

E teuteu le faila:

sudo nano /etc/config.json

Faaopopo laina nei:

{
	"EMAIL_HOST_PASSWORD": "<some password here>"
}

O le a matou faʻaauau pea e faʻatonutonu le faila faila ma faʻaopopo uma o faʻamatalaga ma ki o le a matou faʻaaogaina i le app. Mo le taimi nei, ia vave ona latou suʻesuʻe pe faʻapefea ona lafoina imeli e faʻaaogaina Python. Muamua, ia tatou faia se auivi mo se faʻamaoniga imeli e mafai ona tatou lafoina a tatou tagata faʻaaoga, ma tuu i le tagata faʻaaoga faʻamalosi. O lenei ata o le a tusia i le HTML.

nano users/templates/users/verification_email.html

O lenei imeli e faigofie tele. E manaʻomia se faʻamatalaga o se tagata faʻaaoga, o le pito i luga o le upega tafailagi mo le nofoaga, ma o se tagata faʻaaoga ID ma le faʻailoga o loʻo faʻaaogaina e faʻamaonia ai le imeli a le tagata. Ia e mautinoa e faamatala le lisi o le URL i tulaga.Popy ae matou te leʻi tusia nisi Python Code e taofia ai le auivi. Alu i luma ma faʻaopopo laina nei i le App / Tulaga.ise, latalata i le amataga.

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

BASE_URL = PROTOCOL + '://' + DOMAIN

Ile taimi mulimuli ane, a sauni lau 'upega tafaʻilagi mo le Initaneti ma e te faʻapipiʻiina, o le a e manaʻo e faʻamatala lau igoa o le vaega o loʻo e faʻatauina le nofoaga. O le igoa lea o le a e tusia i le Navbar ina ia mafai ona ulufale i lau 'upega tafaʻilagi. Ia o le taimi nei, e mafai ona e tuua le vaega e leai se mea pe faʻaaogaina se tagata e umia sea. O le a e manaʻo foi e sui le nofoaga_ame i se igoa e te manaʻo e avatu lau 'upega tafaʻilagi, o lau filifiliga.

Ae tatou te le i lafoina le imeli, ia tatou faia se faʻailoga faʻailoga ina ia mafai ona i ai se matou tala faʻauiga faʻailoga e le muta. E mafai ona tatou faia lenei mea e ala i le fausiaina ma le faʻaulufaleina o se tala faʻauiga faʻailoga e pei o mea nei. Faʻatonutonu le faila:

nano users/tokens.py

Faaopopo le tulafono lea:

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

O lenei faʻavae autu o le Genken e faia ai se faʻailoga e mafai ona matou lafoina le tagata faʻaaoga i se URL ma le tagata faʻaaoga e mafai ona faʻaaogaina e faʻamaonia ai a latou teugatupe ma faʻagaioia a latou teugatupe.

Le isi, seʻi o latou vaʻai pe faʻapefea ona lafo se imeli. Faʻaoga nano, faʻatonutonu tagata faʻaaoga / imeli.

nano users/email.py

Auina atu le faʻamaoniga HTML imeli o le a foliga pei o lenei:

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)

E faigofie tele lenei. Matou te faʻaulu mai galuega e tatau ona matou lafoina le imeli, o loʻo faia ai le imeli ma ni matata, ona matou faʻamatala ai lea o le imeli e le igoa o loʻo faʻaaogaina ai se galuega. O le ae vaʻaia tatou te leʻi faʻamatalaina le galuega e lafo ai le meli, lafo_html_email, ae, o lea, o lea, ia tusi i lalo o le numera / imeli.py

def send_html_email(user, mail_subject, html_message):
    to_email = user.email
    username = user.username
    if to_email == '':
        return None
    unsub_link = settings.BASE_URL + user.profile.create_unsubscribe_link()
    html_message = html_message + "<p><a href=\"" + unsub_link +  "\" + title=\"Unsubscribe from " + settings.SITE_NAME + " emails\">Unsubscribe</a></p></body></html>"
    msg = EmailMultiAlternatives(mail_subject, strip_tags(html_message), settings.DEFAULT_FROM_EMAIL, [to_email], headers={'List-Unsubscribe' : '<' + unsub_link + '>'},)
    msg.attach_alternative(html_message, "text/html")
    profile = user.profile
    try:
        msg.send(fail_silently=False)
        if not profile.email_valid:
            profile.email_valid=True
            profile.save()
    except:
        profile.email_valid=False
        profile.save()

O sina mea sili lea ona faigata, ma matou te le o sauni e tamoe uma lenei tulafono. Matau o loʻo matou faʻauigaina se unaub_Link, o le fesoʻotaʻiga e mafai e le tagata faʻaaoga ona faʻaogaina e le lesitala mai a matou imeli. E taua lenei, aua o tagata faaaoga e manaʻomia le mafai ona filifili ese mai a matou imeli seʻi vagana ua latou mananaʻo e vaʻai i ai, i soʻo se taimi. Matou te faʻaopopo foʻi se isi tusi i le matou feʻau, o le HTML savali na lafo mai o le HTML pine. O le mea mulimuli, matou te siakiina pe a fai o le imeli na lafoina, ma afai e leai, matou te faailogaina i totonu o le tagata faʻaaoga faʻamatalaga e le aoga a latou imeli.

Tatou toe foʻi i le tagata faʻaaoga faʻataʻitaʻiga ina ia mafai ona tatou faia lenei galuega uma. E tatau ona tatou faamatalaina se galuega e gaosia ai se fesoʻotaʻiga e le faʻaaogaina, ma faʻamatala se boolean fanua e faʻailogaina e le aoga le imeli a le tagata faʻaaoga.

Muamua, faʻaopopoina mea nei o loʻo faʻamatala mai i le pito i luga o tagata faʻaaogaina / faʻataʻitaʻiga.py

nano users/models.py
# ...

Le isi, seʻi tatou faʻaopopo galuega i le tagata faʻaaoga faʻataʻitaʻiga e fai le faʻailoga ma siaki le faʻailoga na faʻaaoga e faʻagaioia ai le imeli, faʻapea foi ma le fanua ua faʻafoʻiina lelei a latou meli. I tagata faʻaaoga / faʻataʻitaʻiga.py toe, faʻaopopo le tulafono nei i le faʻaiuga o le faʻataʻitaʻiga (Initia code)

# ...
            TimestampSigner().unsign(key, max_age=60 * 60 * 24 * 30) # Aloaia mo le 30 aso

Lelei tele lenei, tatou te faʻaaogaina se timestaspespeamner, o se faʻavae lea o mea totino, ia fatuina ai se faʻailoga e muta pe a uma se isi galuega e siaki pe aoga. Matou te faʻaaogaina le togitogi o nei togiga faalua, tasi e faʻamaonia ai le imeli, ma tasi mo se le lesitala sootaga.

O lenei ua i ai nei mea, le toe mulimuli o le galuega o le a manaʻomia ona tatou faia o i manatu. I totonu o tagata faʻaaoga / manatu, Tatou faʻaopopo manatu e faʻamaonia ai le tuatusi imeli, ma le lesitala.

nano users/views.py

Muamua, faʻaopopo le faʻatupulaia nei. Na ou togiina i ni nai mea faaopoopo ina ia matou le toe faia se mea sili atu mea mulimuli.

from .email import send_verification_email # Ia mautinoa e faʻaulufale mai le faʻamaoniga imeli imeli

Masalo ua uma ona i ai nisi o nei faaulufale mai, ae le afaina le toe fai. O le ae manaʻomia le faʻaulufaleina mai o le faʻamaoniga imeli meli o loʻo lafoina o galuega, faʻapea foi ma le teuga tupe_ctaption_token mai tagata faʻaaogaina.

O lenei, i le pito i lalo o le faila, faʻaopopo le tulafono nei:

        # le lesitala i latou
    # A leai se mea e toe fai ai i le login itulau
# Auina atu le Auina atu (talosaga, tagata faaaoga)

O le tele o tulafono. Tatou gagau. O le muamua galuega, mama ma faigofie, e le tuʻuina atu le tagata faʻaaoga mai le lisi meli. O le galuega lona lua e faʻagaioia ai a latou imeli, ma o le ae vaʻaia na ou faʻaopopoina se mea na taʻua, Asseshowemail. E talia oe e faʻaaoga se imeli faʻataʻitaʻiga ma le galuega faʻauiga e lafo ai se faʻafeiloaʻi imeli, ou te leʻi faia lava. O le galuega mulimuli na ou togiina ai e taua, aua e fai le emmail imeli. O le mea lea, o le a tatou manaʻomia le toe setiina o le faʻaaogaina imeli imeli nisi o le taimi. E mafai ona tatou faʻaaogaina se faʻavae faʻavae mo lenei, ma valaʻau le galuega e lafo ai le imeli faʻamaonia. Ae tatou te leʻi faia lenei mea, ia mautinoa o le a lafoina i le tulaga muamua, i le faʻaopopoina o se galuega valaʻau i le tusi resitala. Faʻaopopo le laina lea ae leʻi o le redirect i le tusi resitala, mafaufau resitala, i tagata faʻaaoga / manatu.

nano users/views.py
# ... (a maeʻa) Faʻamatala le tusi resitala (talosaga):
# ... (muamua) Toetu (

E te le manaʻomia le faʻaopopo o laina muamua ma le mulimuli i lena numera numera, naʻo le mautinoa o le tusi resitala o loʻo lafoina le imeli imeli i le tagata faʻaaoga. E tatau ona foliga faapenei:

# ... Faaulufaleina
            send_verification_email(user) # Ia e mautinoa e faaopoopo lenei laina!

O lenei, o le a tatou manaʻomia le faʻaopopoina o se pepa e toe faʻailoa ai le imeli imeli. I tagata faʻaaoga / pepa o loʻo iai, faʻaopopo le pepa lea:

# ... (Faaulufaleina)

O le a tatou manaʻomia foʻi se faʻataʻitaʻiga e tutusa ma lenei mea e taofia ai le imeli faʻagaioiga. Sei o tatou faʻaopopoina lenei ata i totonu. Faʻatonutonu le faila:

nano users/templates/users/resend_activation.html

Le isi, faʻaopopo le tulafono nei i le faila.

O lea ua, e tele naua! O lenei, pe a matou faaleaogaina le numera i la matou server, o le a mafai ona matou lafoina Html imeli ma faʻagaioia tagata faʻaaoga teugatupe ma le kiliki i le imeli. Matou te manaʻo foi e lafo se imeli faigofie tele, o lea ia tatou vaʻai pe faʻafefea ona fai lena mea. Toe foʻi i tagata faʻaaoga / imeli.py, faʻaopopo le tulafono nei:

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)

Ma le mea foʻi tatou te manaʻomia se auivi e tuʻuina mai nei faʻamatalaga uma. I luga o laʻu 'upega tafaʻilagi, o le teʻela foliga mai i lalo ifo, ae e te fiafia e faʻatulaga e pei ona e manaʻo ai.

Manatua tatou te le o tapunia le tino po o le HTML pine, aua matou te faʻaopopo nei pe a matou faʻaopopoina le HTML unspubee sootaga. Nei, ae matou te le manaʻo e faʻamatala faʻalua.

O le a la le isi? Ua leva foi ona tatou o mai. Moni, e tatau ona tatou sauni e faʻapipiʻi le upega tafailagi i se server. E mafai ona matou faʻaopopoina le @logn_requid decorator ma fai o tatou manatu saogalemu, ave saini saini, lafo le imeli, o le faʻavae lea o le mea e tatau ai e mafai ona fesoʻotaʻi. O le a matou faʻaopopo ni nai mea e sili atu le aoga, ma fausia se faʻavae mo le faʻapipiʻiina o la matou faʻailoga i se tagata mamao, faʻatulagaina o se meli server, o le vaega e fai ai le tatou 'upega tafaʻilagi saogalemu ma talafeagai.

O le a tatou manaʻomia foʻi se faʻamatalaga toe setiina, o lea ia tatou faʻaopopo ai vave vave. Django's fausia i upu faataga toe setiina ua solia i nisi o galuega, ae o le a tatou vaʻai i le auala e tusi ai la matou lava vaʻaiga, imeli faʻafefeteina, pepa, ma le utelo mamanu, ma URTS O le mea lenei o le manatu foliga pei o, i tagata faaaoga / manatu.py

# ... Faaulufaleina

O lenei pepa o loʻo fausia i Django, ae matou te manaʻomia se faʻataʻitaʻiga e faʻamaonia ai le upu faataga toe setiina, tagata faʻaaoga / tagata faʻaaogaina / password_dytm_ upu faataga

E i ai foʻi a matou ata e lafo ai se upu faataga toe setiina imeli, ma se pepa faigofie, i tagata faʻaaoga / striplates / tagata faʻaaogaina / upu faataga.

O le faʻataʻitaʻiga mo le imeli lava e faigofie lava, o se faʻavae o le HTML faila na tuʻuina atu se fesoʻotaʻiga e toe setiina le upu faataga, i tagata faʻaaoga / tagata faʻaaoga: Django o le a otometi faamatalaina lenei faila.

Matou te manaʻomia foʻi ni ata se lua. O le muamua o le faʻamaonia o le imeli ua lafoina. Vaʻaiga mo nei mea ua i ai i Django, o lea e tatau lava ona matou manaʻomia e faʻailoa atu ia i latou i le URLy.py. O lenei ata o loʻo i ai i tagata faʻaaoga / templates / tagata faʻaaoga / password_reset_dy.html

Ma mulimuli, e faʻamaonia ai o le recomme toe setiina o loʻo atoatoa, tagata faʻaaogaina / striplates / tagata faʻaaoga / upu faataga_reset_cret_cret_Creatm.html.htm

O lenei, tatou te manaʻomia le uromeina o mamanu mo nei vaʻaiga. I tagata faʻaaoga / URLs.py, faʻaopopoina le URL lea o Urte:

    # ... Ur Urls iinei

Fa e fa e sili atu, e tele naua! Ae o lenei ua tatau ona tatou mautinoa e mafai ona toe setiina le tagata faʻaaoga upu faataga soʻo se taimi tatou te manaʻomia, uma mai le upega tafailagi.

Ou te malamalama o le tele o tulafono. Afai e foliga mai e laititi lou ulu, e le afaina. O le a e faʻaleleia, o lou malamalama o le a faaleleia, ma o le a avea oe ma sili faʻamalosi ma le faʻailoga lata mai. Afai ua e matua leiloa lava, ou te fautuaina e toe foʻi mai i lenei polokalama mulimuli ane i le taimi lava e galue ai i se tagata lava ia e aʻoaʻoina i le Code Cloy i luga ole laiga. O nei mea e masani ona maua saoloto e amata ai, ma o le a taʻitaʻia oe i mea uma e tatau ona e manuia pe ae toe foʻi mai i lenei poloketi. Afai e te lagona e pei ua e sauni e faaauau, faitau, o le a matou ufiufi lau tulafono i se tagata mamao e mafai ona fausia se galuega fou.

O le mea mulimuli e tatau ona tatou faia muamua aʻo le i faʻaaogaina i se nofoaga mamao o loʻo fai ai le matou 'upega tafaʻilagi teisi sili atu le saogalemu. O le ae matauina o le login manatu na o le username ma upu faataga, ma e leai se tele o mea moni faʻamaonia poʻo le tasi taimi numera. O se faigofie lea o le faʻasaʻo, ma le tutusa tulafono, e mafai ona matou faia le matou 'upega tafaʻilagi lafoina feau tusitusia ma tali atu i feau tusitusia na lafo i le server. O le amataga, o le a matou o i tua i le tagata faʻaaoga faʻataʻitaʻiga ma faʻaopopo se ata Timetamp o le a fai ma sui o le ulufale taʻitasi. O le a matou faʻaopopoina foi se tulaga ese, faʻataʻamilomilo iloa e uiga i le tagata faʻaaoga faʻataʻitaʻiga o le a faʻaaogaina e faʻaopopo ai isi puipuiga i le matou login. Faʻatonutonuina o le tagata faʻaaoga faʻataʻitaʻiga, tagata faʻaaoga / faʻataʻitaʻiga.py, faʻaopopo le tulafono lea:

# Ia e mautinoa e faʻaulufale mai le Uuid, Timetamp Signer ma URL Generator (toe suia)
    # Faaopopo lenei numera iinei
    # Ma faʻaopopo lenei galuega
            TimestampSigner().unsign(key, max_age=60 * settings.AUTH_VALID_MINUTES) # Aloaia mo 3 mins

Ia mautinoa o au tagata faʻaaogaina / faʻataʻitaʻiga foliga pei o lenei, e ese mai i manatu (code i luga o laina ma #). Solia lenei i lalo, e faigofie. E i ai a matou mea faʻaulufale mai, o le timestasvigner o se faʻasesega o le faʻaaogaina e mafai ai ona fausia se puipuiga malupuipuia ma faʻamaonia pe a uma le numera o sekone. Matou te faʻaaogaina foi le Uuid, o se faʻailoga tulaga ese e faʻailoa ai le matou tagata faʻaaoga i le sainia o le faʻailoga, ma i le URL o le mea e lafoina ai le faʻailoga i le tagata faʻaaoga. O le a tatou faʻaaogaina lenei mea taua o le faʻauiga e fausia ai se lua vaega faʻamaonia manatu. Ae tatou te leʻi faia se isi lava mea, ia tatou taufetuli i migings ina ia faʻafouina la matou faʻailoga tagata. I le faʻasino ma le Puleaina.py, faʻatautaia o tulafono nei e faia ma maeʻa femalagaaiga.

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

E taua lenei aua i taimi uma tatou te faia ai suiga i faʻataʻitaʻiga, o le a manaʻomia ona fausia laulau ma faʻafou le faʻamaumauga ae tatou te leʻi faʻaaogaina le faʻataʻitaʻiga.

Le isi, seʻi o tatou faʻaleleia le tatou login manatu e toe tuʻu i se vaʻaiga tulaga lua. I tagata faʻaaoga / manatu, aveese le login o le galuega ma toe faʻaleleia i le URL na matou faia i le tagata faʻaaoga faʻataʻitaʻiga.

# ... Faaulufaleina
        if user and user.profile.can_login < timezone.now(): # Manatua ua tatou siaki nei pe mafai e le tagata faaaoga ona ulufale i totonu
            # Aveese le Ath_lonin galuega na i ai iinei
                return redirect(user.profile.create_auth_url()) # Faʻaliga tatou te toe faʻatulaga i le fou URL iinei
            else: # Afai o le tagata faʻaaoga e le faʻaaogaina le tele-vaega faʻamaonia, na o le ulufale i totonu.
        else: # Afai e le manuia le login,
            user = User.objects.filter(username=username).first() # O le vaega lea matou te faʻafouina ai le tagata faʻaaoga faʻamatalaga
                profile.can_login = timezone.now() + datetime.timedelta(seconds=15) # O lea e le mafai ona latou toe ulufale i totonu mo ni nai sekone

Lea e matua faigofie lava, ua i ai nei a matou auala e toe faʻafoʻi ai i le lua vaega faʻamaonia manatu pe a tatou faia. E i ai foʻi le toʻilalo o loʻo i ai i le tulaga o le tagata faʻaaoga e leʻi faʻaopoopoina ai se numera telefoni. O le a matou faʻaopopoina se vaʻaiga masani e faʻaopopo se numera telefoni lata mai ma ulufale i totonu ma le feau tusitusia vave.

Muamua, matou te manaʻomia se faigofie auala e momoli ai se feʻau feau mai le matou tulafono. Ina ia faia lenei mea, e mafai ona tatou filifili mai i le numera o Apis, ae o le faigofie sili atu i loʻu manatu o le TwiIo. Latou te ofoina atu foi le tau lelei mo pisinisi laiti, faʻapea foi ma le tele o paʻu. Fausia se tala i luga o le Twilio.com, faʻatumu ni auiliiliga e uiga i lau poloketi, faʻatau se numera telefoni, ma kopiina lau API ki i lau nofoaga. Ma, faʻaopopo lenei tulafono i lalo o se faila fou, tagata faʻaaogaina / SMS.PY.

nano users/sms.py
# Faʻauluʻu uma o mea taua
# O lenei tulafono e lafo ai le tusitusiga ma Twilio
# O se fesoasoani fesoasoani e maua ai se numera ma le tele o numera
# Lafo le tusitusiga e faʻamaonia ai le tagata faʻaaoga
# Lafo se tagata faʻaaoga soʻo se tusitusiga ma lenei galuega
# Faamaonia le code ma lenei galuega
# Faamaonia le taimi

Ia mautinoa e suia lau mamanu talafeagai, faaopoopoina o laina i ou ki:

# Ia e mautinoa e kopiina nei mea mai lau twilio dashboard
AUTH_VALID_MINUTES = 3 # O le numera o minute o le TFA itulau e malosi i le taimi muamua na maua ai

Muamua, o le a matou manaʻomia ni pepa mo le lua o isi mea faʻamaonia manatu. Faʻasaʻo tagata faʻaaogaina / pepa o le mea moni, faʻaopopo le tulafono nei.

# ... Faaulufaleina
# O se pepa mo le ulufale atu i le matou numera telefoni
# Se pepa mo le faʻamaoniaina

Le isi, ia tatou faia manatu i tagata faaaoga i tagata faaaoga / manatu.py

# ... Faaulufaleina

Matou te manaʻomia foʻi ni faʻataʻitaʻiga mo nei manatu uma. Tatou faʻaopopo le MFO faʻafetaui muamua.

nano users/templates/users/mfa.html

Faaopopo lenei HTML code i le auivi

O le mea lea e sili ona faʻamalamalamaina. O le faiga e lafoina se numera poʻo se numera gaogao, ma o le ae maitauina i le manatu tatou te lafoina le tulafono pe a tatou mauaina se numera gaogao. Ona o lea e naʻo le lua lafo mai le faʻailoga, ma o lenei auala e mafai ai ona matou lafoina le code ma le faʻamau. Le isi, o le a matou faʻaopopoina se pepa faigofie e faʻaopopo ai se numera telefoni.

nano users/templates/users/mfa_onboarding.html

Faaopopo le HTML lenei:

O lenei pepa e sili atu le faigofie, e na ona toe mauaina le numera numera numera na matou faia ma faʻatagaina le tagata faʻaaoga e faʻaopopo se numera telefoni.

O lenei foliga manaia tele! O le a lava le umi o loʻo faʻatulagaina lelei mea, e tatau ona mafai ona matou lafoina feʻau, ma tusi le tagata faʻaaoga i le la le numera telefoni i le taimi lava matou te faʻaopopo ai le urt. O le mea mulimuli e tatau ona tatou faia o se ata o se ata manatu ina ia mafai ai ona tatou mautinoa e mafai e le tagata faʻaaoga ona suia a latou telefoni telefoni e aunoa ma le faʻaaogaina o le lumanaʻi.

Sei o tatou faʻaopopoina se faʻamatalaga manatu i tagata faʻaaoga / manatu. O lenei manatu o le a toe faʻafou ai le tagata faʻaaoga bio, imeli, username, ma le numera telefoni, faʻapea foi ma faʻatagaina matou Muamua, o le a tatou manaʻomia ni isi faʻailoga sili atu i tagata faʻaaoga / pepa.

# ... Faaulufaleina

Le isi, tatou te mafai foi ona faʻatuina se vaʻaiga e faʻaaoga uma ia ituaiga uma. Faʻatonutonu Tagata / Vaʻaiga.

# Faʻaopopo nei faʻatauga

O le a tatou manaʻomia foʻi se faʻataʻitaʻiga mo lenei vaʻaiga.

nano users/templates/users/profile.html

O le ae matauina lenei fomu faigofie pepa, ae ei ai ni Javascript i totonu e otometi ona lafoina mea o mea o le pepa ao faafou. E aoga lea e iai, o lea e mafai ai ona e faia nisite e aunoa ma le fetaomi atu o le lafoina i taimi uma.

Le isi, matou te manaʻomia URLs o loʻo fai ma sui o nei manatu i le tagata faʻaaogaina URL. Faʻatonutonu Tagata Faʻaaoga / URLS.Py ma faʻaopopo lenei tulafono:

# ... numera muamua, faaulufale mai
# ... URL Patterns na matou ulufale muamua i ai, faʻaopopo le isi laina e tolu

Ose taimi lelei e faʻataʻitaʻi ai le matou poloketi. Ae muamua, tatou tamoe isi faaleoleo.

backup

Ma tamoe le server. Ae tatou te le i faʻapipiʻiina i le Linux server, o se manatu lelei e mafai ai ona faʻamaonia le lua mea moni i luga o le teugatupe. O le a matou faia lenei mea o le a oʻo i le matou faʻamatalaga URL, / tagata faʻaaoga / faʻamatalaga /, ma siaki le pusa e mafai ai ona lesitala le tusi telefoni, ona tuʻuina atu lea o le tusi.

python manage.py runserver localhost:8000

Asiasi i le Upega Tafaʻilagi e ala i lau 'upega tafaʻilagi' upega tafaʻilagi, o loʻo ou faʻaogaina le Google Chrome i lenei faʻataʻitaʻiga, ma ulufale i le URL HTPSP: // Lowhost: 8000 / tala / talaaga / tala / talaaga / tala / talaaga / tala / talaaga / teugatupe / teugatupe / teugatupe / teugatupe / teugatupe / teugatupe / teugatupe / teugatupe / teugatupe / teugatupe / tala / talaaga / tala / talaaga / tala

O le a mafai ona e ulufale i totonu pe a tatau ai ma mafai ai ona avea ma mea taua e lua.

O lenei poloketi e manaʻomia ai le server e tamoe i luga ina ia mafai ona lafo atu le meli meli. Ae muamua, tatou te manaʻomia se auala e vaʻai ai i mea sese. O le ae matauina afai e te tamoʻe le server i le debug mode, ma tulaga o loʻo i ai le moni, o loʻo faʻaalia e le server mea sese. Ina ia faʻaalia mea sese e aunoa ma le faʻaaogaina o le debug mode, lea e le saogalemu i luga o se server Service, e tatau ona faʻaopopoina se vaʻaiga mo ia. O mea sili ona taua e tatau ona tatou mafai ona taulimaina o:

Sese 500 - o se faʻafitauli ma le matou faʻailoga Sese 404 - O le itulau e leʻi maua (ua motusia URL) Sese 403 - O se faʻatagaina ua le maua le sese

Sei o tatou faʻaopopo se tusi fou e faʻatautaia ai nei mea sese, e taʻu atu mea sese.

python manage.py startapp errors

Faʻaopopo lenei mea i le tulaga.pise pei ona tatou faia muamua, i le faʻapipiʻi_Apps (ma amata i le faʻaopopoina o faʻamatalaga i nisi o manatu i App / URS.

handler404 = 'errors.views.handler404'
handler500 = 'errors.views.handler500'
handler403 = 'errors.views.handler403'

Pau lava le mea tatou te manaʻomia e ese mai i manatu sese, templates ma sina vaega o le ogatotonu. Sei o tatou faamatalaina i latou pei o lea:

# Fausia ou manatu iinei.

Le isi, seʻi o latou faʻamatala le ogatotonu o loʻo faʻatautaia ai nei mea sese. O le a matou faia lea mea i le muamua faʻaopopo i le ogatotonu o le queware_classes i tulaga.py, ma le igoa o matou ogatotonu.

    # ... muamua le tufatufaga

Le isi, ia tatou faʻaopopoina le 'ogatotonu.

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.')

Matou te faʻaopopo se galuega e maua ai le tuusaunoaga o loʻo i ai i le faʻaaogaina o le atunuʻu i le lotoifale, e fesoasoani matou te sailia ni mea sese i la matou tulafono. E oʻo i tulaga faʻapitoa, tatou te manaʻomia le manaʻomia o le tasi, aua tatou te le o faʻamatalaina le ulutala le ulutala. O le teuteuga e tatau ona faia le ulutala ma le "trace", o tatou mea sese tala ese mai le tala.

nano errors/templates/errors/error.html

O lo matou faigofie faʻataʻitaʻiga, ae o le faigofie tele o le vaʻaia o mea sese o loʻo i totonu o galuega a le matou poloketi. Le isi, aua neʻi faʻaleaogaina le debug i tulaga.

nano app/settings.py

Saili le laina lea o loʻo fai ai le mea moni, ma suia i le sese

DEBUG = False

Alu i luma ma faaleoleo le app nei. Ua tatou sauni e faʻapipiʻi i se mamao linux server, ma autilo ai foliga mai iina.

sudo backup

Ae tatou te leʻi lafoina lenei tulafono i se server, e tatau ona tatou mafaufau iai atonu e i ai ni mataupu ma le faʻailoga. Faʻalagolago i le mataupu, sea e talia faʻamatalaga na lafoina ia i latou o le a i ai i mataupu ma spam o loʻo lafoina ma faigata ona aveʻesea le spam. O lenei mea e le mafai ona tupu vave, ae a fai o le a tatou suʻesuʻeina mulimuli ane pe faʻapefea ona otometi le faʻaaogaina o le upega tafailagi, faʻatasi ai ma le faʻaaogaina o le upega tafailagi.

Vaʻavaʻai atu i le Multi vaega aʻoaʻoga, ua tatou suʻesuʻe, i le gaosia, mea e mafai ona seʻe ese. Faʻaaliga pe faʻapefea ona tatou faʻatapulaʻaina le ogalaau, ma le faʻauma o faʻailoga. Afai o Robots o loʻo maua se 'upega tafaʻilagi, e lua vaega faʻamaonia e sili atu ona faigata ona e mafai ona ulufale i le tulaga tutusa i le taimi e tasi o le tagata faʻaaoga. O le taua tele, seʻi o tatou faʻaaoga se faʻataʻitaʻiga i le tagata faʻaaoga faʻataʻitaʻiga, faʻailoa mai pe faʻafefea ona tatou fegalegaleai ma le 'upega tafaʻilagi pe a tatou faʻamaonia le tele o le lautele. O le a matou faʻaopopoina foʻi se filifiliga e faʻamaonia ai ma imeli. Amata i le faʻatonutonuina o le tagata faʻaaoga faʻataʻitaʻiga ma Nano.

nano users/models.py

Ole mea lea o loʻo tatou faʻaopopoina e tatau ona foliga mai. Matou te le manaʻomia ni metotia, na o fesuiaʻiga e teu ai se ID, o le tagata faʻaaoga, o le taimi o le taimi, umi, umi ma taumafaiga pei o le tele o le tele o le tele o le tele o le tele o le tele o le lautele.

# O se faʻailoga autu na faʻaaogaina e ulufale ai i le upega tafailagi

Sei o tatou faʻaopopo foʻi se avanoa i le tatou tagata faaaoga, a tatou tuʻu soo i ai mo le taimi nei, leʻi i ai muamua i le suʻesuʻeina o tagata faʻaaoga lelei. I le tagata faʻaaoga faʻataʻitaʻiga, faʻaopopo le laina lea i le talaaga:

    vendor = models.BooleanField(default=False)

E pei foi o ni suiga i le faʻamaumauga, e manaʻomia ona tatou faia femalagaaiga ma malaga mai le nofoaga o loʻo matou faʻaogaina ai se faʻataʻitaʻiga.ple faila i Django. Manatua, o le faia muamua lea matou te faʻaaogaina muamua (pe a fai e leʻi faʻaaogaina muamua talu ona tatala le tigaina) ona tatala lea o le Python e faia ai femalagaaiga ma femalagaaʻi.

cd project-directory-you-named # (pe a manaʻomia)

Mo le taimi nei, e mafai ona e lesitala i ni au faʻamatalaga na e faia e ala i le faʻaaogaina o le atigi.

python manage.py shell
from users.models import Profile
p = Profile.objects.get(user__username='Charlotte')
p.vendor = True
p.save()
exit()

Ia, tatou o ese mai le tele o a matou vaega o le tele o manatu e faʻaaoga ai lenei faʻailoga. Muamua, e tatau ona tatou suia a tatou mea i le fesoasoani a le fesoasoani. Faʻaoga Sano,

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

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

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

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

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

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

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

def check_verification_code(user, token, code):
    token.attempts = token.attempts + 1
    profile = user.profile
    result = (token != None and code != '' and token.token == code and (token.expires > timezone.now()) and token.attempts <= settings.MFA_TOKEN_ATTEMPTS)
    if token.attempts < 3 and result:
        profile.verification_code_length = 6
    elif token.attempts > 1 and not result:
        profile.verification_code_length = profile.verification_code_length + 2
        if profile.verification_code_length > settings.MFA_TOKEN_LENGTH: profile.verification_code_length = settings.MFA_TOKEN_LENGTH
    token.save()
    profile.save()
    return result
# Faʻamaonia le tagata faʻaaoga faʻaaogaina a latou imeli poʻo le numera telefoni
    token = MFAToken.objects.filter(uid=username, expires__gt=timezone.now() + datetime.timedelta(seconds=30)).order_by('-timestamp').last() # Faamama le faʻailoga e ala i le taua na pasia i le URL (o Uuid)
    if not token: token = MFAToken.objects.create(user=User.objects.filter(profile__uuid=username).first(), uid=username, expires=timezone.now() + datetime.timedelta(seconds=115)) # Afai e leʻi faia lenei vasega, fausia
    user = User.objects.filter(id=token.user.id).first() # Maua le tagata faʻaaoga mai le faʻailoga
    if not user and request.user.is_authenticated: return redirect(reverse('feed:home')) # Afai ua uma ona faamaonia, log latou i totonu
    if not user: raise PermissionDenied() # Faafitia pe a leai se tagata na maua
    if not user.profile.enable_two_factor_authentication and user.is_active and user.profile.check_auth_token(usertoken, token): # Siaki le Atheth Tounken
        auth_login(request, user, backend='django.contrib.auth.backends.ModelBackend') # Saini i le tagata faʻaaoga pe a latou le o ulufale i totonu
        user.profile.mfa_expires = timezone.now() + datetime.timedelta(minutes=settings.LOGIN_VALID_MINUTES) # Faatulaga se muta i luga o a latou Multi mea moni faamaoniga
        return HttpResponseRedirect(next if next != '' else reverse('landing:landing')) # Toe faʻatulaga le tagata faʻaaoga i le isi itulau
    if not user.profile.mfa_enabled: # Siaki pe o le MFA e mafai
        if not check_verification_time(user, token): # Siaki le taimi
            user.profile.mfa_enabled = False # Manino le numera telefoni
            user.profile.enable_two_factor_authentication = True # Mafai mfa
            user.profile.phone_number = '+1' # Faʻamuta le numera telefoni
            user.profile.save() # Sefe le talaaga
            auth_login(request, user, backend='django.contrib.auth.backends.ModelBackend') # Tusi le tagata faʻaaoga pe afai o latou mfa e le mafai
    if request.method == 'POST' and not fraud_detect(request, True): # Afai o le talosaga o se meli talosaga
        form = TfaForm(request.POST) # Na vave ona faia le pepa
        code = str(form.data.get('code', None)) # Maua le numera
        if code and code != '' and code != None: # Ia mautinoa e le gaogao
            token_validated = user.profile.check_auth_token(usertoken) # Siaki le Atheth Tounken
            is_verified = check_verification_code(user, token, code) # Siaki le numera
            if token_validated: # Afai o mea uma
                if is_verified: # O le faasologa
                    user.profile.mfa_enabled = True # Mafai MFA (pe a fai e le o mafai)
                    auth_login(request, user, backend='django.contrib.auth.backends.ModelBackend') # Saini i le tagata faaaoga
                    for key, value in request.GET.items(): # Fausia se fesili mo le isi parameter (pe a iai)
                        return HttpResponseRedirect(next) # Toetu
            elif not token_validated: # Afai o le ata na le aoga
            if p.mfa_attempts > 3: # Afai e tele naua taumafaiga
            if form.data.get('send_email', False): # Lafo le imeli (po o tusitusiga)
    # Faia le pepa (mo le mauaina o talosaga)

A o matou faʻaopopoina i lenei tulafono, ia mautinoa e faʻaulufale mai le galuega e lafo ai se imeli. I le pito i luga o le faila, o le tagata faʻaaoga manatu (ma isi faʻaulufale mai), faʻaopopo

from .mfa import send_verification_email as send_mfa_verification_email

O lenei, e tatau ona tatou tusia le galuega lena aʻo le i aoga soʻo se tasi o le a galue. E tatau ona oʻo mai le matou lafoina imeli galuega, ma na o le lafoina o se imeli i le tagata faʻaaoga ma le faʻamaoniga code.

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

Lea la lenei galuega lelei, o lenei ua i ai le tele o tatou mea faʻapitoa faʻapitoa faiga e fuafua i le numera telefoni poʻo le imeli e le mafai ona feololo ai ma a tatou tuutuuga. O ia mea e mafai ona fai ma tagata robots, po o soo se tasi e le o se uiga lelei mo la matou galuega. Vaʻai i se ata i se vaʻaiga i le mataituina o tagata faʻaaogaina i luga o laʻu 'upega tafaʻilagi:

# faaulufaleina
from .tests import is_superuser_or_vendor # O le a tatou manaʻomia le faia o lenei suʻega
    # Maua le lisi o tagata faaaoga
    return render(request, 'users/users.html', { # Toe faafoi tagata faaaoga i se ata

Manatua o lenei faʻailoga faʻaaoga se suʻega, o le a manaʻomia ona tatou faʻailoa atu lenei suʻega i totonu o suʻega.Popy faila ma faʻapaʻiaina. Faʻatonutonuina o tagata faʻaaoga / suʻega.

def is_superuser_or_vendor(user):
    return user.profile.vendor or user.is_superuser

O lenei o loʻo fesoʻotaʻi ma tagata faʻaaoga / tagata faʻaaogaina.hhtml faʻataʻitaʻiga, lea foliga pei o lenei:

Manatua o le faʻataʻitaʻiga e aofia ai se isi templash, tagata faʻaaoga /tagata faaaoga.html. A faʻaaoga se faʻataʻitaʻiga o loʻo i ai se subtempoteth ma le faʻaaogaina le faʻalauteleina, o lona manatu lelei e faʻaopopo ai se pito i lalo () I le taimi o le igoa o le faila e faʻalautele ai, ina ia iloa ai faʻalelei.

Manatua o le tele o Jinja, atonu e le o iai uma nei suiga o nei suiga. Ae o le mea lea e foliga mai ai laʻu code.

      <small># {{tagata faaaoga.ID}} </ SAILI>

Matou te manaʻomia foʻi se isi faʻavasegaina, fuggle_ctive.html. O lenei faʻataʻitaʻiga e tatau ona avea o se faiga e faʻatagaina ai tatou e faʻaseʻe pe o se tagata faʻaaoga e malosi.

O le a tatou manaʻomia foʻi le faʻaopopoina o se vaʻaiga i le faʻamamaina o tagata faʻaaoga gaioiga, ma talafeagai urt. A o tatou i ai, tatou faʻaopopoina se vaʻaiga e tape se tagata faʻaaoga pe a tatou manaʻomia lena mea.

# Faaulufaleina
    success_url = '/' # O le Redrated i le manuia URL
    def test_func(self): # Suʻega pe a fai o le tagata faʻaaoga o le supersuster ma ua faʻatagaina e tape

A o le aoga lea pe a manaʻomia, tapeina se tagata faʻaaoga e le tatau ona manaʻomia le iloa o tagata e faʻaaogaina tagata e asiasi i le upega tafailagi pe a fai tatou te manaʻomia e faʻateʻaina i latou.

Le url o mamanu na matou faaopoopo ai foliga o lenei. Faatasi ai ma nano, editit tagata faaaoga / urls.py ma faʻaopopo nei laina:

nano users/urls.py

O laina e tatau ona o atu i le lisi o auala i le tagata faʻaaoga manatu, aʻo leʻi maeʻa le "]]" ae a uma le amataga "[".

# ...
# ...

Ia, ina ia mautinoa ia toe faʻaaluina luga le upega tafaʻilagi ina ia te oe downloadina i luga o le 'upega tafaʻilagi server o le a matou galulue pea. Mai le laina poloaiga,

sudo backup

O lea ua faapipiiina le matou 'upega tafaʻilagi.

O lea la ua iai a matou mea sili ona aoga foliga. Ae a le ata tele? O lenei faʻailoga e le mafai ona avanoa mai le Initaneti, e leai ni a matou meli meli, ma e tatau ona faʻalauteleina la matou app e aofia ai le faʻatulagaina o le nofoaga e suʻesuʻeina ai tagata faʻaaoga.

O le a matou taunuu i nei mea uma. O le mea sili ona taua mo le taimi nei o le a maua lenei tulafono i luga ole laiga, e mafai ona tatou faia i ni nai laina o bash i luga o le ubuntu server. E tatau ona e totogi se server mo lenei mea, vagana ua e maua se server i le fale ma o se initaneti initaneti lesitala e mafai ai ona e tatala taulaga. Ou te masani lava tamoe laʻu 'upega tafaʻilagi i luga o le HP Z440 o loʻo faʻapipiʻiina i loʻu fale, ae masani tele le taugofie mo mea taua e tatau ona totogi ai se tafailagi

Ia manatua o loʻo la tamoʻe nei le tulafono o loʻo tatou faʻataʻitaʻia nei, o le a manaʻomia ona tausisi ma faalelei aʻo tatou sauni e faʻaaoga le mea e tatau ona tatou fausia se oloa. Ia e mautinoa ia faaeteete i le mea e te faia i le Initaneti, ia mautinoa pe a fai e te lafoina lenei nofoaga lautele i le Upega Tafaʻilagi i le UNUX server, e iai sau fuafuaga le talafeagai ma lau 'upega tafaʻilagi le manaʻomia. E le taumate o le a le faʻafitauli i le taimi muamua, ae o le a tatou vaʻavaʻai i le tele o tali e tau ai lenei mea, e aofia ai ma masini aʻoaʻoga ma komepiuta. O le a le taimi e avea ai ma faʻafitauli, vaʻai atili i lenei tusitusiga mo se fofo.

I tulaga o le totogiina o le VPS, e tele ai nofoaga e mafai ona e alu ai. E i ai i le Google ao e iai VPS, oona, o Kamatera, Amazon Boots, ma sili atu tautua e maua ai o ni totogi i luga o le tautua.

E tatau ona e kiliki i a latou ituaiga ma filifili se fuafuaga e amata ai. E mafai ona e alu ma se fuafuaga autu ma soʻo se tautua, ae ia mautinoa o loʻo faʻatagaina e le Provider oe e tatala le Port Meli oloa e tuʻuina atu nei taulaga. E oʻo mai i le taimi nei na ou mauaina le sili ona lelei ma le ilis ma Kamatera, o loʻo latou uma e faʻatagaina ai aʻu e lafo mai le le faʻatapulaʻaina imeli ma o latou tau e taugofie.

O le a e fesoʻotaʻi i lau New server luga o se protocol e taʻua o le SHS poʻo le malupuipuia Shell, e mafai ai ona e mamao ma le server e pei o lau komepiuta. A e faʻatuina le server, o le tagata tautua e ono fesili atu ia te oe e faʻaopopoina se ki SSH, pe latou te avatu ia te oe se username ma upu faataga. O le Ssh Key o le auala lea e te ulufale ai i le server mai le laina laina e teuteu ai le code. Faʻaaoga le pito i lalo o le SS-Keygen filifiliga e faʻatupu ai se ki SSH.

ssh-keygen

Sefe le faila ma sili atu pe a fai e te manaʻomia, e lelei le liliuina o lau SSH ki pe a fai e te leʻi mauaina. O lenei, e mafai ona e faʻaaogaina le faʻatonuga e vaʻai ai i lau SSS Key. O le a e manaʻo e kopi atu i lau mamao taʻavale ina ia mafai ona e faʻaaogaina e faʻamaonia ai.

cat ~/.ssh/id_rsa.pub

Afai e le mafai ona e vaʻai i le ssh ki pe a taina lena faʻatonuga (umi manoa o numera ma mataitusi amata i le "SSA ACDA" O LE MEA UA FAI LE NUMERA.

ssh-keygen -t rsa -b 4096

Fatu se VPS tamoe Ubuntu, ae a e fuafua e fai lenei mea. O le taimi lava na e faia ai le VPS e ala i le kilikiina o pepa i luga o le tautua 'upega tafaʻilagi (Kamatera.com, Ionis.com pe tutusa) O le a manaʻomia foʻi ona e nofouta i le faʻasoasoaina igoa i luga o le Serving na latou faia, mo se faʻataʻitaʻiga, UBuntu.

ssh ubuntu@XX.XX.XX.XX

E mafai ona fesiligia oe mo se faʻamatalaga, pe a fai o loʻo fesiligia oe mo se upu faataga, ulufale i totonu. Matou te le faʻaaogaina le igoa o le igoa o le tagata fou.

Tatou amata i le faʻaopopoina o se fou sshd_config faila, o loʻo taʻu mai ai le server pe faʻafefea ona faʻaaoga le ssh.

nano sshd_config
# O le SHSD server system-lautele o faila faila.  Vaai
# Sshd_config (5) mo nisi faamatalaga.
# This sshd was compiled with PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
# O le fuafuaga sa faʻaaogaina mo filifiliga i le le aoga SSWD_CONFIG
# O le tatalaina o le e faamaoti ai filifiliga ma a latou tulaga le aoga o fea
# mafai, ae tuua e tuua.  O filifiliga e le masani ai
# tau aoga.
# Port 22
# Failauga i se tasi
# Faʻalogo 300.0.0
# Faalogologo ::
# Hoskey / Etc / SSH / SSH_HOHY_REA_KEY
# Fale talimalo / etc / ssh / ssh_host_hostsa_key
# Hoskey / Etc / SSH / SSH_HORT_ED25519_KEY
# Ciphers ma le ki
# Reyylimlit le aoga leai se tasi
# Ulufale
# Syssulfacelity ath
# Ogalaau faamatalaga
# Faamaoniaina:
# Logtingraceme 2m
# Pemita e faʻasaina
# Starmodes ioe
# MaxatHetries 6
# Maxsessions 10
# Faamoemoe .SSH / faʻatagaina_keys2 ina ia le amanaiaina e le masani ai i le lumanaʻi.
# Faatatauina le leai se mea
# Pule Faatagaina Leai
# Pule Faatagaina leai se tasi
# Mo lenei mea e galue ai o le a manaʻomia foʻi ki talimalo i le / etc / ssh_icks_holds_hosts
# Talimalo
# Suiga i le ioe pe a e le talitonuina ~ / .SSH / iloa_hosts mo
# Talimalo
# Le amanaiaina
# Aua le faitauina le tagata faʻaaoga ~ / .rhosts ma ~ / .shosts faila
# Le amanaiaina o le ioe
# Faʻamuta le tunneed manino faʻamatalaga faʻamatalaga, suia e leai se mea iinei!
# Permitimemptypasswords leai
# Suiga i le ioe e mafai ai ona faia le luʻitau
# nisi pm modules ma filo)
# Kerberos filifiliga
# Kerberostureticetication leai
# Kerberossorlocalpadwad ioe
# Kerberosckeckeckingup ioe
# Kerberosaftundstoken leai
# GSSPI filifiliga
# Nssapiatustreentiction leai
# Gssaptolocredentionals ioe
# Gssapitistroceptoptoptock ioe
# GSSPIKIKKECKEFELELE LEAI
# Faatulaga lenei mea i le 'ioe' ia mafai ai PAM faamaoniga, teugatupe gaosi,
# ma sauniga sauniga. Afai o le mea lea e mafai ai, pm faʻamaoniaina o le a
# ia faʻatagaina e ala i le kbdinteracticatetication ma
# Upu faataga.  Fuafua i luga o lau PAM Connegeration,
# PAM faʻamaonia e ala i KBDINCACRATICTICTACATICKATE
# o le faʻatulagaina o le "pemita pemita e aunoa ma-faʻamatalaga".
# Afai e te manaʻo i le PAM Account ma lau siaki siaki e tamoʻe ai
# PAM faʻamaonia, ona mafai lea ona faʻatulaga lenei mea ae seti upu faʻatonu
# ma kbdinteracticatetication i le 'leai'.
# Faataga le ioe
# Faataga le ioe
# Gatewayport
# X11DisplayFeff le 10
# X11selolhost ioe
# O le pemita Ioe
# Lolostlaug Ioe
# Tcpkeepalive Ioe
# Taofia leai
# Lotomamago le tuai
# Tagata matutua 0
# Tagata tomai tagata matutua le 3
# Faaaogaina leai
# Pidfile /run/sshd.pid
# Maxstirps 10: 30: 100
# Pemita leai
# Chroodorectctient leai se tasi
# Versidaddedem leai
# leai se mea e le mafai ona fua
# Faataga le tagata o tausia e pasi le siosiomaga lopa siosiomaga fesuiaiga
# Override le aoga o le leai o se fale
# Faʻataʻitaʻiga o tulaga sili atu i luga o le tagata-faʻaaoga faʻavae
# Faafetaui tagata faaaoga Anoncvs
# X11faafofoga leai
# Faataga le leai
# Le talafeagai leai
# Accesscommomand cvs server

Manatua, Ctrl + x ma Y e sefe le faila. Le isi, ia tatou tusia se faʻamatalaga taua o le amataga o le amataga (uma i le tulaga o le fale o le fale o le matou tagata faʻaaogaina).

nano initialize

Faaopopo nei laina i le faila, suiFaatasi ai ma lau SSH Key na e mauaina e faaaoga ai pusi. (.SSHHS / ID_RASA.PUB)

# ! / bin / bash

O le savali ia te oe i lenei faila, tatou amata laina i le laina. O le laina muamua o loʻo faʻamatalaina ai le tuʻufaʻatasia o le tala lea o le tala lea. Ona matou faʻapipiʻiina lea o le faalagolago, kopiina sshd_config i le saʻo faʻasino, toe amata le SSH, faʻaaogaina o le SHEC AND, faʻaaogaina le igoa o le tagata faʻaaoga mo le taimi nei). Faatoa matou faʻaopopo foʻi le 'au i le tagata Sudgo vaega, faʻatulagaina o latou SS, faʻaopopo le matou ki i ni ki ua faʻatagaina ma le aisi, ma lolomi le latou ki. O lenei tagata fou o le a avea ma pe faʻafefea ona tatou ulufale i totonu o le upega tafailagi.

I se nofoaga fou, alu i luma ma tatala le toe faia o le server.

ssh team@XX.XX.XX.XX

E le tatau ona e manaʻomia se faʻamatalaga o lenei taimi, pei o loʻo i ai lau ush ki. E i ai foi a matou le atoatoa le login ma upu faataga e taofi ai le nofoaga sili atu saogalemu.

O lenei, o lenei server e amata ona avanoa atoa ma leai ni faʻamatalaga i luga. Tatou amata i le faʻaipoipoga la tatou poloketi mai le tali atu ina ia mafai ona tatou siʻopeʻe ai ma faʻatautaia le masini maotua. I luga o le mamao le server e fesoʻotaʻi i luga o le SSH, muamua lolomi lau SSS Key:

cat ~/.ssh/id_rsa.pub

Sosoo ai, faapipii le ki i totonu o le git tulaga pei o matou faia ae e te leʻi faʻatuina la matou faitotoʻa faitotoʻa. E mafai nei ona matou puʻeina le matou poloketi i le server. Ia mautinoa ua e lagolagoina le poloketi muamua i le taimi muamua o i luga o le Git Server e download.

git clone git://github.com/you/yourproject.git

Atoatoa. O lenei ua i ai uma faila faila. E mafai ona tatou vaai i le Ls

ls

O lenei, seʻi oʻo ina amata ona faʻatutuina le server. Muamua, kopi lau faʻamatalaga galue i se igoa faigofie ma le itu, matou te faʻaaogaina mo le poloketi.

cp -r yourproject whatyoucalledit

Le mea "o le mea" o le a le mea na "o le igoa fou o lau poloketi. Le isi, o le a matou manaʻomia le fausia o se faʻavae aoga e faʻatulaga ai le server. O le a matou sefeina lenei aoga ma faʻaaoga i le lumanaʻi. Ina ia fausia lenei aoga, ia tatou fatuina se tagata faʻaoga e faʻamatala ai le auala na matou faʻaogaina ai se tala. Faʻaogaina Bash, teuteu / USR / Bin / Fonotaga

sudo nano /usr/bin/ascript

Ia e mautinoa e faʻaaoga le sudo iina, o loʻo iai au faʻatagaga e faʻatonutonu ai le faila. I totonu o le faila, faaopoopo nei laina:

# ! / bin / bash
    echo "# ! / Bin / Bash ">> / USR / BIN / $ 1

Manatua o lenei tusitusiga e ave se finauga, le igoa mai le Tusi Paia, e pei ona $ 1. Muamua e siaki pe o loʻo i ai le faila, poʻo le isi itu e faia, faʻaopopo le laina muamua e faʻailoa ai le tusitusiga o paʻu, ma faʻaopopo lona igoa o loʻo latou faia. Afai o loʻo i ai le faila, na o se suiga faʻatagaina ma faʻatonutonu. Sefe le faila, ma o le a tatou suia ai le faatagaga. A o matou manaʻo pe a tatou faʻaaogaina lenei molimau, o le a tatou le mafai ona faia lena mea faapena.

sudo chmod a+x /usr/bin/ascript

Atoatoa. Ia tatou faia se tala o le igoa valaau. Muamua, aua le faʻatoʻilaloina oe, ae vaʻai i le mea e foliga ai laʻu tusi. O le a matou savavali i le mea e foliga mai o lenei tusitusiga i lau galuega, e te le manaʻomia mea uma i totonu o laʻu tusitusiga e amata.

# ! / bin / bash
# sudo chmod a + x laupepa / tagata faaaoga
# ./scripts/ussittiep
# Ssh-Keygen
# Poloketi Taiala
# Poloaiga poloaiga
# Nano config
# Git config
# Faafou ma faʻapipiʻi
# Mafai clamav antivirus
# Faatulaga le igoa o le igoa
# Seti postgres
# Seti database backup
# Faʻamuta le le mafai
# Faapipiiina bitdeender
# Seti postfix
# Fatuina o tagata
# Faatulagaina Momnulenv
# Maua ma fausia ni faalagolago
# Seti faiga afi
# Faapipiiina PyPI faalagolago
pip3 install --upgrade opencv-python # == 4.5.4.60
pip3 install --upgrade opencv-contrib-python # == 4.5.4.60
# Pip i luga o le Sport Spotcv-Python == 4.5.5.64
# PIP Stud SpotcV-sao-python == 4.5.5.64
# Faapipii tusipau
# Tamoe cackbot
# Reload meli server
# Kopi tusi
# sudo cp /etc/lensecrypt/llie/femmebabe.com/prickey.Pem faalauaitele.pee
# sudo cp /etc/lensecrypt/lly/femmebaibe.com/CERT.PEM CONC.Ppe
# Patch venv
# Seti tulaga o tagata
# Seti ni faatagaga
# sudo chown -r 'au: tagata faaaoga / var / tamoe /
# sudo shown root: root / tamoe / sudo / ts -r
# sudo chmod 664 db.sqlite3
# sudo swwn www-data: tagata faaaoga db.sqlite3
# Kopi le Conneggi ma Faatulaga Taulotoga
# Faatulagaina o faamaumauga
# Tui le pamu o le pamu ma aveese le sese ssh config
# sudo sed -i '' -e '$ d' /etc/pam.d/ssshd
# sudo sed -i '' -e '$ d' / etc / talaaga
# Kopi tusi apalai ma setiina ni faatagaga
# Toe faʻaleleia ma mafai auaunaga
# Faʻamalosi Apache Modules
# sudo A2Dismism mpm_event
# sudo A2dismm mpm_worker
# sudo A2enmad Mpm_prefork
# Faʻamuta le nofoaga faʻapitoa
# Faataga la matou nofoaga
# Reload Daemon ma toe amata apche, Toupfix ma Opendkim
# Seti ni faatagaga
# Suiga
# Aoina le afi afi
# Faatulaga Git
# Faaali IPV6 ma Opendkim mo le Domain Configuration
# Faauma

O le tele o le seti! I se faapuupuuga, o lenei numera tusi poloaiga, mafai ona o nano ma le git, o kopi i luga o faila, downloanded brepefres, prepaction stadysqull, maua ai le antures, dayes O mea e faalagolago i ai, faʻapipiʻi tusi pasi ma seti le server, faʻapipiʻiina o le faʻatulagaina, amata ma mafai ona suia, o loʻo fai ai le swap, ma lolomi le IP, IP3 tuatusi o le IP, IP3. Faigofie faigofie, ae e foliga mai e tele le tulafono. Matou te le manaʻomia le tele o lenei mea ona e leai ni a tatou faalagolago, tatou te le o faʻaaogaina le seleri, o Celeri, ae o le a matou faʻapipiʻiina nisi o latou taimi e amata ai. Matau o lenei numera e iai le vaega na folafola e le vaega i le tele o taimi.

O le a tatou manaʻomia foʻi le faʻatauina o se igoa igoa (o le fea o le laititi o le totogifuapauina). Ou te fautuaina squarespace mo le faʻatauina o se vaega, o la latou tuʻutuʻuga o loʻo i se faʻalavelave ma faigofie ona faʻaaoga. E mafai ona e faʻatauina soʻo se tasi o lau filifiliga, ae o loʻo ou faʻaaogaina le domain femmebabe.com i lenei faʻataʻitaʻiga. O le taimi lava na e faʻatau ai se vaega, ulu i le sikuea sikuea o loʻo iai le faʻasologa E tatau ona foliga faapenei:

@ A xx.xx.xx.xx

Faatasi ai ma le @ Deprator e pei o le talimalo, o lona uiga o le subdoras uma i lalo o lenei domain ma o le root domain o le a suia uma i le server. E tele faʻamaumauga e faʻalauiloa, ae mafai ona tatou fetoso i luga o nei pe a tatou saunia e lafo le meli. Ia manatua, atonu e tele ni aso ae e te leʻi mafaia ona lafo mai le meli mai le server. O loʻo tusia i le taimi o faʻamaumauga o le DN L L LOTO.

Ae ui i lea, o le faataoto na o loo tatou i ai o se faamaumauga. Ma o lenei ua mafai ona matou faʻatumuina i lalo ifo o loʻo tusia i lalo e tusa ma le matou galuega faʻagaeʻetia ma faʻatautaia.

Sei o tatou amata i se tamai tusi laiti e faʻapipiʻi ai mea tatou te manaʻomia mo se alualu i luma alualu i luma. Matou te le faʻaaogaina le tele o le tele o tausisia poʻo le postgresql, o le a matou amata amataina se mea masani http server ma popole e uiga i le faʻamaonia pe a maeʻa. Manatua, ina ia maua ai se tusi pasi HTTPS ma le faia o le server, o le a tatou manaʻomia le faʻatauina o se vaega faʻatasi ai ma le totogiina o se server. Mo le taimi nei, sui le "'au" i lenei faila ma le igoa o lau tagata faʻaaoga, "dir" ma le tuʻuina atu o lau poloketi, ma tuʻuina atu lau imeli ma domain i le <> faʻailoga.

Ma le isi, ae tatou te leʻi faia lenei faʻailoga, e tatau ona tatou suia nofoaga i le faʻaulu afi ulufale a le tausi feagaiga. E masani lava ona i totonu o le 'Networks' Tab o lau tautua talimalo, pe afai o oe o le talimalo, o lona taulaga i luma o lau router. O le a e manaʻo foi e faʻatuina se tulaga i luga o lau router ma le tuatusi o lau masini server, pe a fai o loʻo e faʻaaogaina le au talimalo. E tatau ona e tatalaina nei taulaga mo le faitau / tusi avanoa.

22 (SSH) 25 (Meli) 587 (Meli) 110 (Maily Client) 80 (http) 443 (HTTPS)

# ! / bin / bash
# Poloaiga poloaiga
# Nano config
# Git config
# Faafou ma faʻapipiʻi
# Mafai clamav antivirus
# Faatulaga le igoa o le igoa
# Seti database backup
# Faʻamuta le le mafai
# Faatulagaina Momnulenv
# Faapipii tusipau
# Tamoe cackbot
# Seti tulaga o tagata
# Seti ni faatagaga
# sudo chown -r 'au: tagata faaaoga / var / tamoe /
# sudo shown root: root / tamoe / sudo / ts -r
# Toe faʻaleleia ma mafai auaunaga
# Faʻamalosi Apache Modules
# Reload Daemon ma toe amata apche, Toupfix ma Opendkim
# Faaali IPV6 ma Opendkim mo le Domain Configuration

A o le i faia lenei numera, ia mautinoa o le vaega na e faatauina e fesoʻotaʻi i le server. Ia faia lenei mea, tatala se afaina i lau masini i le lotoifale, ma tamoe lenei poloaiga ma lau Domain:

ping femmebabe.com # Faaofi lau vaega iinei, pe a uma le ping

Afai e lelei uma foliga ma o le server o loʻo lafoina tali, ua matou sauni e faʻatautaia le tala ma faʻapipiʻi ni afifi ma amata, mafai ma faʻamaonia o matou apche server.

E le o le faʻatulagaina uma e manaʻomia le faʻatulagaina o le tolopoi, o le a tatou vaʻai atu i lena faʻatulagaga mulimuli ane. Mo le taimi nei, tamoʻe lenei faʻatulagaina tulafono ma e tatau ona faia ni nai minute e faʻapipiʻi ai ma faʻamaonia lau server. Toe mautinoa lava, ia mautinoa e suia le igoa, imeli ma le igoa vaega i le tusitusiga e tusa ai ma le igoa na e faatauina.

O lenei o le server e tuʻuina atu, e mafai ona e alu i le URL i soʻo se upega tafailagi ma siaki ia mautinoa o le server o loʻo fesoʻotaʻi HTTPS. Afai e leai, taumafai le faʻatali sina taimi mo le DNS faʻamaumauga e puʻe ai ona faʻatautaia lea o le faʻatonuga e toe taumafai ai le tusipasi.

sudo certbot --apache --non-interactive --agree-tos --domains <domain>.com --email <youremail>@gmail.com

O le a lava le umi e te faʻatulagaina mea uma, e tatau ona mafai ona e mauaina le itulau o le Ipuchal's Default Page "o loʻo e iloa ai lau tulafono o loʻo galue ma faʻaalia ai se uola. Le isi, ia tatou faʻatonutonuina le tulaga. O le a matou faʻatulagaina foʻi le vaega i le tulaga, faʻapea foi ma le IPS.

nano yourproject/settings.py

I le tulaga, suia / faʻaopopo nei laina.

# Nofoaga nofoaga

O lenei, o le a tatou manaʻomia le faʻatulagaina o vaʻataliga o Apasa2. Tatou faʻatonutonu le faila faila o le a matou faʻapipiʻiina i lenei laina:

sudo nano /etc/apache2/sites-available/femmebabe-le-ssl.conf

O lenei faila faila e tatau ona amanaia lo matou igoa igoa i totonu, ma le igoa o le tagata faaaoga ma poloketi. O lea ou te faʻaaogaina le igoa o le igoa HMEMEBABE.com, o le username Team, ma le Project Deal HAMMAMABE.

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>

Ia mautinoa e sui le igoa o le poloketi, faʻatonuga, ma le vaega i lenei faʻataʻitaʻiga code pe a faʻatulagaina lau server. O lenei, o le a tatou manaʻomia le faʻamuta le tulaga faaletonu tulaga. E mafai ona faia lea faʻaaoga le paʻu.

sudo a2dissite 000-default-le-ssl
sudo a2dissite 000-default
sudo a2dissite default-ssl

Le isi, e mafai ona mafai ona faʻamalosia ai le tulaga le lelei ma toe faʻaleleia aphe2, ma faʻaaogaina foi le paʻu. Manatua e sui Hammebabe ma le igoa o le faila na e faʻailoa pe a faʻasaʻoina i le / etc / apache2 / nofoaga-avanoa /.

sudo a2ensite femmebabe-le-ssl
sudo systemctl reload apache2

Alu i tua i lau vaega i le Navbar. E tatau ona e vaʻai i le 'upega tafaʻilagi na e faʻatulaga i lau' upega tafaʻilagi browser. Faamalo! Afai e te le vaʻai i ai, atonu e manaʻomia ona e faia ni suiga. Iloilo ma le faaeteete galuega i lau poloketi, Apache faʻatulaga, ma ia mautinoa e te le maua ni sese, ma faʻatautaia poloaiga nei e siaki ai le poloketi.

cd projectname
source venv/bin/activate
python manage.py check

Afai e iai ni mea sese i lau Python poloketi, sue i le mea latou te i ai ma toe faaleleia i latou. Atonu e le mafai ona e vaʻai i mea sese uma e faʻalagolago i le mea latou te i ai, tusa lava pe iai sau mea sese, o loʻo faia le toe faia o le sipelaga.

nano venv/lib/python3.12/site-packages/django/apps/registry.py

Tusi i le laina 83, le mea lea e oso ai lenei mea sese o lenei mea (sii le runtimetherrorrorror ("e le toe maua mai i luma o lenei laina, ma le tutusa o lenei laina,." O lenei foliga faapenei:

                # Taofia le toe totogi telefoni e aloese ai mai le tamoe o appconfig.ase ()
                # Metotia faalua.
# Sii ai Runtimerrorror ("apogi () e le toe nonofo")

E mafai ona toe siaki le poloketi ma faaali le mea sese.

python manage.py check

Ona mafai lea ona e vaʻai i le mea sese ma faʻalelei. A o ia te oe na faʻasaʻoina ma le code tuufaatasiga e leai ni mea sese, ia mautinoa e suia le faila i tua ina ia pei o lea:

                # Taofia le toe totogi telefoni e aloese ai mai le tamoe o appconfig.ase ()
                # Metotia faalua.
# o le tagata lava ia.App_configs = {{}

Tuʻuina atu le server o loʻo i luga ole laiga, pe a matou faia ni isi suiga i ai, e tatau ona tatou faʻaaogaina le faʻatonuga e toe faʻaaogaina ai le server:

sudo systemctl reload apache2

Sekia! Ae a le lafoina o meli? Ina ia amata laʻu imeli, o le a tatou muamua manaʻomia le faʻafouina o le vaega o le vaega. E tatau ona i totonu o lau DNS vaega i Strastapace, poʻo soʻo se ituaiga igoa igoa ua e filifilia. O le a manaʻomia foʻi ona tatou faʻapipiʻiina ma faʻaopopo le faʻatulagaina, ma tamoe ni nai faʻatonuga.

Muamua, tatou maua le IPV6 tuatusi o le server. Ona tatala lea o lau dns ma faʻaopopo faʻamaumauga.

Ina ia maua le server's IPV6 tuatusi, faaaoga lenei poloaiga:

ip -6 addr

Ia, e mafai ona tatou faʻaopopo faʻamaumauga nei i le DTS tulaga. O aʻu faʻamaumauga e foliga faʻapena. Peitaʻi, mo au faʻamaumauga, e tatau ona e suia le tuatusi IP ma lau IP (e le o le 75.147.182.21, o laʻu tala). Faaopopo foi lau Vaega i le nofoaga o FemmebabE.com, faʻapea foi ma lau IPV6 tuatusi na maua ma le faʻatonuga muamua (e le mafai ona faʻaogaina laʻu mea, o: 3: 3: 3202). Aua le popole i le Tusitala mo le taimi nei, o lenei mea na fausia pe a tatou setiina le pou, o le meli server, ma le Sopelatiim, ma lolomi le ki. O le a matou faatulagaina le mea mulimuli.

@ A N / a 75.147.182.21

@ Mx 10 Femmebabe.com

@ Ptt N / a Femmebabe.com

@ Txt N / a TXT @ v = Spf1 MX IP75.147.182.214 (Fe80 :: 725A: 3: 3: 3e

Default._bimi Txt N / a V = Bimi1; L = HTTPS: //FEMMEBEBEC/STATIC/FERMEBIBE.SVG.SVG

_dmarc Txt N / a V = DRARC1; p = leai se mea

Tuʻuina atu ._ Muddains Txt N / a

O lenei, o le a tatou manaʻomia le faʻaopopoina o le faʻaauau ona faʻatulagaina mo le tolopolu. Pau lava le mea tatou te manaʻo e faia o le mautinoa lea matou te suia le igoa o le igoa, FemmebabE.com, ma le igoa igoa o loʻo e faʻaaogaina. Sei o tatou vaʻavaʻai i faila uma e tasi, ma faʻapipiʻi i totonu o se faʻasino igoa ua taʻua i la matou poloketi, aua e faʻapipiʻi i le OS.

nano config/etc_postfix_main.cf

Faʻaopopo lenei tusitusiga i le faila

# Vaʻai /usr/share/postfix/mane.cF.dist mo se faʻamatalaga, sili atu atoatoa lomiga
# Debian Art: faamaoti se igoa faila o le a mafua ai le muamua
# laina o lena faila e faʻaaoga o le igoa.  Le Fale Teutupe a le Debsian
# o / matc / imeli.
# myorgin = / etc / imeli
# O le mauaina. Taofia o le galuega a Mua.
# Le filifilia o le isi laina e fausia ai "Tuai meli" lapataiga
# TOFOTOFO_WAARNING_IMY = 4H
# Vaʻai http://www.postfix.org/copatifing_reathme.html - faʻaletonu i le 3.6 luga
# fou faʻapipiʻi.
# TLS Parameters
# Miliona

Le isi vaega!

nano config/etc_postfix_master.cf

Faaopopo nei laina:

# 
# O le Postfix Master Proffment Connecigation.  Mo faʻamatalaga i luga o le faʻatulagaina
# o le faila, vaʻai le matai (5) tusi lesona itulau (poloaʻiga: "Man 5 Matai" poʻo
# luga o le laina: http://www.postfix.org/master.5.html).
# 
# Aua neʻi galo e faʻatino le "Postfix Reload" ina ua uma ona faʻatonutonuina lenei faila.
# 
# ============================================================================================================================================================================================================================== nc_
# Auaunaga ituaiga tagata tumaoti unitprip chroot ala cyxproc prom + pugs
# (ioe) (ioe) (leai) (leai) (100)
# ============================================================================================================================================================================================================================== nc_
# SMTP Attut N - Y - 1 Postscreen
# smtpd pasi - - y - - smotpd
# dnsblog Unix - - Y - 0 DNSBlog
# Tlsproxy Unix - - Y - 0 TlLproxy
# Filifili se tasi: mafai ona lafoina le lafoina o le pulepback tagata naʻo, poʻo mo soʻo se tagata o tausia.
# 127.0.0.1:subAbserver Att N - Y - - SMTPD
# -o syslog_name = postfix / folasaga
# -o smtpd_tls_cerorrores_leal = nercypt
# -o smtpd_sasl_ath_entable = ioe
# -o smtpd_tls_oath_only_only = ioe
# -o smtpd_reject_uncudes_repecaudes = leai
# -o smtpd_client_ereprictions = $ MUA_Client_Rerictions
# -o smtpd_helo_erelorictions = $ MUA_HOOL_RARRICTRING
# -o smtpd_sender_redrictions = $ MUA_SEnder_RARDRICTERS
# -o smtpd_recreent_ererications =
# -o smtpd_relay_referictions = pemita_sasl_ataticated, teena
# -o milter_macro_dacermon_name = mafua mai
# Filifili se tasi: Faʻaoga le SMTPS mo le mataapback tagata naʻo, poʻo mo soʻo se tagata o tausia.
# 127.0.0.1:SMTTPS INTET N - Y - - SMTPD
# SMTPS INTE N - Y - - SMTPD
# -o syslog_name = postfix / SMTPS
# -o smtpd_tls_wrappedodode = ioe
# -o smtpd_sasl_ath_entable = ioe
# -o smtpd_reject_uncudes_repecaudes = leai
# -o smtpd_client_ereprictions = $ MUA_Client_Rerictions
# -o smtpd_helo_erelorictions = $ MUA_HOOL_RARRICTRING
# -o smtpd_sender_redrictions = $ MUA_SEnder_RARDRICTERS
# -o smtpd_recreent_ererications =
# -o smtpd_relay_referictions = pemita_sasl_ataticated, teena
# -o milter_macro_dacermon_name = mafua mai
# 628 AEET N - Y - - QmQPD
# Qmgr Unix n - n 300 1 OQMGR
# -o smtp_helo_titut = 5 -o smtp_connect_titut = 5
# 
# =================================================================================================================================================================================================================================== nc_
# Infices i le le-tolopfix polokalama. Ia mautinoa e iloilo le tusi lesona
# itulau o le le-tolopoina polokalama e saili ai poʻo a ni filifiliga e manaʻo ai.
# 
# Tele o tautua nei e faʻaaoga le paipi o le pope (8) tilivaina
# sooupu.  Vaʻai le paipa (8) tamaloa itulau mo faʻamatalaga e uiga i le $ {tagata e mauaina}
# ma isi feau e teu ai filifiliga.
# =================================================================================================================================================================================================================================== nc_
# 
# mageso. Vaʻai le pou Tialfix Maildrop_readme faila mo faʻamatalaga.
# Faamaoti foi i le autu.Cf: Maildrop_dgentinem_recencient_elit = 1
# 
# 
# =================================================================================================================================================================================================================================== nc_
# 
# O nei lomiga o loʻo tusia ai nei e mafai ona faʻaaoga le o loʻo iai nei "LMTP" Master.cf ulufale.
# 
# Faamaoti i cyrus.conf:
# LMTP CMD = "LMTPD -A" faʻalogo = "Localhost: LMTP" Prop4 = TCP4
# 
# Faamaoti i le autu.cf tasi pe sili atu o mea nei:
# Mailbox_transport = LMTP: Att: Localhost
# Virtual_transport = LMTP: Att: Localhost
# 
# =================================================================================================================================================================================================================================== nc_
# 
# Cyrus 2.1.5 (Amos Guinaux)
# Faamaoti foi i le Main.cf: Cyrus_dentation_repered_limit (1
# 
# cyrus Unix - n n - - paipa
# flags = DRX Tagata = Cyrus Argv = / cyrus / bin / tiliva -r -r $ {diner}}
# 
# =================================================================================================================================================================================================================================== nc_
# Tuai tuai o le momoli atu e ala i cyrus.
# 
# Tuai-Cyrus Unix - N N N - - paipa
# flags = r tagata faʻaaoga = cyrus Argv = / cyrus / bin / tiliva -m $ {lautele} $ {tagata faʻaaoga
# 
# =================================================================================================================================================================================================================================== nc_
# 
# Vaʻai le pou Tiapolo Uucp_readme mo faʻamatalaga auiliili.
# 
# 
# Isi metotia faaooina mai fafo.
# 

Ma le opsimpim spragution. Opendkim faʻailoa le imeli fesoasoani ma le ituaiga ki e avea ai latou ma le saogalemu. A aunoa ma lea, o meli e le sainia ma atonu e le faia i se inbox.

nano config/etc_default_opendkim

Faaopopo nei laina:

# Faʻamatalaga: O le faʻamatalaga lea o le faʻafanua faila. E le faʻaaogaina e le faʻagaioiga
# Tausisi tautua. Faʻamolemole faʻaaoga le fetuunaiga o le fetuunaiga o tapulaʻa i totonu
# /etc/opepekim.conf nai lo.
# 
# Muamua, o le tasi o le a teuteu le tulaga le mautonu iinei, ona faʻataunuʻu lea
# /Lib/opepekix/opendkim.service.generate e fausia ai systed drawer
# /etc/systermd/system/smberkim.service.d/override.Conf ma
# /etc/tmpfililes.d/opendkim.conf. A o le mea lea e mafai, ua i ai nei
# Fautuaina e fetuunai tulaga tuusaʻo i le /etc/opepekim.conf.
# 
# Daemon_opts = ""
# Suia i / var / Spool / Toupfix / Tamoe / Opendkim e faʻaaoga ai le UNIX Heart ma
# Postfix i se chroot:
# Rindir = / Vae / Spool / Toupfix / Tamoe / Opendkim
# 
# Le le mafai ona faia e faʻamanino ai se isi sone
# Manatua o le faʻatulagaina o lenei mea o le a sili atu le faʻatauaina soʻo se soka aoga i le Opendkim.Conf
# Leaga:
# Faʻalogo i soʻotaga uma i le Port 54321:
# Socket = Atton: 54321
# Faalogo i le le toeseina o le taulaga 12345:
# Socket = Att: 12345 @ localhost
# Faalogo i le 192.0.2.1 I luga o Port 12345:
# Socket = Itt: 12345@192.0.2.1
nano config/etc_dovecot_conf.d_10-master.conf

Faaopopo nei laina:

# Defauling_proceccet_limit = 100
# Defauling_client_limit = 1000
# Default vsz (Virtual Memory Breat Limit) Tapulaa mo Faigaluega faʻagasologa. E sili lea
# faamoemoe e puʻe ma fasiotia gaioiga e le mautonu ai le mafaufau ae latou te le i ai
# mea uma.
# Defauling_vsz_limit = 256m
# O le Usernal User e faʻaaogaina i totonu e ala i login faʻagasologa. O le sili ona le fiafia
# tagata faʻaaoga i le dovecot system. E le tatau ona maua se avanoa i se mea.
# Defauling_loggin_uster = Desvell
# O le tagata faʻaaoga i totonu e faʻaaogaina e ala i faʻagasologa e leʻi maeʻa. E tatau ona vavae ese mai
# O le tagata faʻaaoga e faʻaaoga, o lea e le mafai e le login ona faʻalavelaveina isi gaioiga.
# Defauling_oNirber_user = Deadercot
    # Port = 143
    # Port = 993
    # ssl = ioe
  # Aofai o fesoʻotaʻiga e faʻatautaia ai ae leʻi amataina se gaioiga fou. Masani lava
  # Pau lava le aoga o le 0 (le faʻatapulaʻaina) poʻo le 1. 1 o le sili atu saogalemu, ae 0
  # e vave. <doc / wiki / loginproceccess.txt>
  # Auaunaga_Count = 1
  # Aofai o faiga e faʻaauau pea ona faʻatali mo nisi fesoʻotaʻiga.
  # faʻagasologa_mical_aval = 0
  # Afai e te setiina tautua_count = 0, masalo e tatau ona e tuputupu ae lenei.
  # VSz_litt = $ default_vsz_limitz
    # Port = 110
    # Port = 995
    # ssl = ioe
    # Port = 587
  # Fausia Atton Faʻalogo pe a fai e le mafai ona e faʻaaogaina le lapy luga
  # Atton_listener LMTP {
    # Aloese mai le faia o le LMTP vaaia mo le Initaneti atoa
    # Tuatusi =
    # Port =
  # }
  # Tele o le manatua e alu i le MMAP () faila faila. Atonu e te manaʻomia le faʻateleina o lenei mea
  # faatapulaa pe a fai e te maualalo le meli.
  # VSz_litt = $ default_vsz_limitz
  # Max. Aofai o Adap Faiga (fesoʻotaʻiga)
  # Faasologa_limat = 1024
  # Max. Aofai o pop3 gaioiga (fesoʻotaʻiga)
  # Faasologa_limat = 1024
  # Max. Aofai o le SMTP Auina atu gaioiga (fesoʻotaʻiga)
  # Faasologa_limat = 1024
  # Ath_Secket_path faʻailoga i lenei faʻaaogaina o le faʻaaogaina o le stacksb E masani lava
  # faaaogaina e Dovecot-lTa, Doveadm, atonu atonu o le a i luga o le auala
  # E mafai e le atoatoa ona faʻatagaina i lenei matata e maua ai se lisi o Username taʻitasi ma
  # Maua iʻuga o tagata faʻaaoga a tagata uma.
  # 
  # O le Default 06666 Faiga faʻatagaina soʻo se tasi e fesoʻotaʻi i le malae, ae o le
  # O le a faʻamanuiaina le faʻaaogaina
  # fetaui ma le tagata telefoni le auala. Pe a fai o le tagata valaʻau o le auvaʻa poʻo le gid e fetaui ma le
  # Socket's UID pe GID o le maumautup manuia. So o se isi mea e mafua ai le toilalo.
  # 
  # Ina ia tuuina atu i le tagata telefoni le faʻatagaina e vaʻai uma tagata faʻaaogaina, seti le faiga i
  # se isi mea nai lo le 0666 ma deavecot faʻataga le kernel e faʻamalosia ai le
  # Faʻatagaga (E.G. 0777 faʻatagaina tagata uma faʻatagaina atoatoa).
  # Athout Capker faiga o loʻo faʻatautaia o le root e le masani ai, ina ia mafai ona ulufale
  # / etc / ata. Afai e le manaʻomia lenei mea, o le tagata faʻaaoga e tatau ona suia i
  # $ defaul_ionling_auser.
  # Tagata faaaoga = Root
  # Afai o le faʻalauiloaina o le faʻatulagaina sui, o faʻagasologa o meli e tatau ona maua lona tino.
  # Mo se faʻataʻitaʻiga: Mode = 0660, kulupu = Vmail ma Global Meli_
    # Faiga = 0600
    # Tagata faaaoga =
    # Vaega =

Toe mautinoa lava, ia mautinoa e sui le vaega i nei faila uma, Femmebabe.com, ma le Domain na e filifilia. Faʻatonutonu le isi faila, Dovecot's Constag,

nano config/etc_dovecot_dovecot

Ma faaopoopo nei laina

## Dovecot Configuration faila
# Afai o oe i le faanatinati, vaʻai http://wiki2.dovecotcotconconconlocition
# "Dovenconf -n" poloaiga e tuuina atu se faʻamamafa mama o le suia tulaga. Faaaogaina
# Nai lo le kopi o faila & lafoina faila pe a lafoina i le Daivecot Meli Meli.
# '# 'amio ma mea uma pe a uma ona faia o ni manatu. Avanoa faaopoopo
# ma tabs e le amanaiaina. Afai e te manaʻo e faʻaaoga se tasi o nei mea manino, tuʻu le
# value inside quotes, eg.: key = "# char ma trailing whitespace "
# Tele (ae le o mea uma) tulaga e mafai ona aveeseina e eseese protocols ma / pe
# Punavai / taunuʻuga ips e ala i le tuʻuina o nofoaga i vaega i totonu, mo se faʻataʻitaʻiga:
# Protocol imap {}, i le lotoifale 127.0.0.1 {}, mamao 10.0.0.0/8 {}
# O le tulaga faʻatatau o loʻo faʻaalia mo nofoaga taʻitasi, e le manaʻomia i le galuega
# na. O faʻailoga ia i lenei mea: Leai ni vaega (egs (egspace {})
# poʻo le faaeʻe tulaga o loʻo faʻaopopo e ala i le le mautonu, o loʻo latou lisiina naʻo ni faʻataʻitaʻiga.
# Auala o ni faʻataʻitaʻiga foi ma le moni o le faʻaletonu o loʻo faʻavae i luga o le faʻatulagaina
# Filifiliga. O ala o loʻo lisiina iinei mo le faʻatulagaina --prefix = / USR
# --sysconfdir = / etc --localsttar = / var
# Mafai ona faapipiiina protocols
# O le koma vavaeʻese lisi o IP poʻo ni au o loʻo faʻalogologo i ai mo fesoʻotaʻiga.
# "*" Faʻalogo i Taʻau Uma IPV4 Faʻapaʻuga, "::" Faalogo i le IPV6 Faʻapolofesa.
# Afai e te manaʻo e taʻu mai e le-le masani-le masani ai taulaga poʻo se isi mea sili ona faigata,
# Faʻatonutonuina o le Faʻasaʻo .d / Master.Conf.
# Faʻalogo = *, ::
# Faavae faʻatonu i le mea e teu ai faʻamaumauga o mea.
# Base_dir = / Vae / Tamoe / Dovecot /
# Igoa o lenei mea. I le tele-faʻataʻitaʻiga seti Doveadm ma isi poloaʻiga
# mafai ona faʻaaoga -i <faʻataʻitaʻiga_name> e filifili ai poʻo fea le faʻataʻitaʻiga o loʻo faʻaaogaina (o se isi filifiliga
# To -c <Conteg_path>). O le igoa o le igoa ua faʻaopopo foʻi i le Dovecot faʻagasologa
# i le ps galuega.
# faʻataʻitaʻiga_name = Deavecot
# Faʻafeiloaʻiga feʻau mo tagata faʻatau.
# Login_Greetting = Dovecot Sauni.
# Avanoa vavaeina lisi o le au faʻatuatuaina o fesoʻotaʻiga. Fesoʻotaʻiga mai nei
# E faʻatagaina IPS e toe faʻaleleia a latou IP tuatusi ma taulaga (mo le ulufale ma
# mo siaki faamaonia). Faʻamuta_planintext_oath ua le amanaʻiaina foi mo
# nei fesoʻotaʻiga. E masani lava ona e faʻailoa mai lau IMP STET stapy server iinei.
# Login_Trecrencer_networks =
# Avanoa vavaeʻese lisi o le login avanoa siaki (eg.g. tcpwrap)
# Login_acaceces_sockets =
# Ma le proxy_Maybe = ioe pe afai o le sui sui o loʻo fetaui ma soʻo se IPs, aua le faia
# Faafoaiga. E le talafeagai lenei mea, ae atonu e aoga pe a tupu
# IP o le E.G. O le avega paleni ip ap.
# Atheth_proxy_est =
# Faʻaalia atili ai le faʻatulagaina o faʻailoga Verbesee (i le PS). O loʻo faʻaalia nei le igoa tagata faʻaaoga ma
# IP tuatusi. Aoga mo le vaʻai o ai o loʻo faʻaaogaina le auala i luga o le ala
# (eg. Fetufaaiga pusa meli pe a lava le id o loʻo faʻaaogaina mo le tele o teugatupe).
# verbose_proctitle = leai
# Tatau ona fasiotia uma pe a fasiotia pe a faia e Daicecot Master Protud.
# Faia lenei mea i le "leai" o lona uiga o le Dovecot mafai ona faaleleia e aunoa ma
# Faʻatinoina o tagata o loʻo iai le tagata faigaluega e tapunia (e ui lava e mafai foʻi
# se faʻafitauli pe a fai o le faʻaleleia o le E.g. ona o le saogalemu puipuiga).
# Tapunia_Clients = Ioe
# Afai e le-zero, tamoe meli poloaiga e ala i le tele o fesoʻotaʻiga i doveadm server,
# nai lo le tamoʻe saʻo i le faiga tutusa.
# Doveadm_worker_count = 0
# Unix Soket poʻo le talimalo: Ua faʻaaogaina e le taulaga mo le fesoʻotaʻi i le Doveadm Server
# Doveadm_socket_path = Doveadm-server
# Avanoa vavaeina lisi o siosiomaga fesuiaiga o lo o teu i le deavecot
# Amata ma pasi atu i lalo o lona itu uma o lona alo. E mafai foi ona e avatua
# ki = pine paga e seti i taimi uma tulaga faapitoa tulaga.
# Faʻaulufale mai_environment = tz
## 
## Loturiry server tulaga
## 
# Lolomiina e mafai ona faʻaaogaina e teu ai ki = aofaʻi lisi. O lenei faaaogaina e tele
# plugin. O le lolomifefiloi e mafai ona mauaina i tuʻusaʻo pe o le a
# dictionary server. O le Dricas Diress Bcks Maps Taiala i URIS
# a faʻaaoga le server. O nei mea na mafai ona faʻasino i faʻaaoga URIS i le faʻatulagaga
# "Stat :: <igoa>".
  # Laina = MySQL: /etc/dovecot/dovecotra -sql.conf.ext
# O le tele o le tulaga moni o loʻo aofia ai i lalo. O le igoa o igoa o
# muamua faʻavasegaina e latou Aricii tau ma faʻapipiʻi i lena faʻatonuga. Le 00-faailoga
# I le faila o igoa o loʻo fuafua e faʻafaigofie ai ona malamalama i le faʻatonuga.
# O le faila faila e mafai foi ona taumafai e aofia ai e aunoa ma se mea sese pe a
# E le maua:
# Faataga le Dovecot e faalogo i mea uma o i totonu o fesoʻotaʻiga (IPV4 / IPV6)

Faaopopo se upu faataga mo le Dovecot tagata faaaoga:

nano config/etc_dovecot_passwd

O le vaega muamua o le faila, aʻo leʻi oʻo i le kolone, o le igoa ole igoa. O le vaega mulimuli, "thepassword", taʻu mai ai le upu faataga e te manaʻo e tuʻuina atu lau meli meli.

team:{plain}yourpassword

Le isi, o le Opendkkim Config

nano config/etc_opendkim.conf

Ma faaopoopo nei laina:

# Ole faʻavae lea o le faʻatulagaina o loʻo avea ma sainia ma faʻamaonia. E faigofie lava
# Fetuunai e fetaui ma se faavae faavae. Vaʻai le Opendkim.Conf (5) ma
# /usr/share/doc/opepekkim/eme faʻataʻitaʻiga/opendkim.conf.pimp mo atoatoa
# pepa o avanoa o avanoa o avanoa.
# Ogalaau leai
# Masani ai saini ma faʻamaoniga tapulaʻa. I Debian, o le "mai le" ulutala o
# O loʻo tupu mai, ona o le tele o le faʻailoga o loʻo faʻaaogaina e ala i le tauleleia faiga
# ma sa i ai i le saogalemu le saogalemu.
# Saini Saini, filifili, ma ki (manaomia). Mo se faʻataʻitaʻiga, faʻatino saini
# Mo domain "faʻataʻitaʻiga.com" ma le filifili "2020" (2020._Doain.Examps.com),
# Faʻaaogaina le ki faʻalilolilo teuina i le /etc/dkimkeys/exampy.pharvete. Sili atu granular
# Faʻavasega filifiliga e mafai ona maua i le /usr/share/doc/opem/reamm/ready.opemim.
# Domain faʻataʻitaʻiga.com
# Filifilia 2020
# KeyFile /etc/dkimkeys/exampy.pharve
# I Debian, Sopeshim tamoe e pei o le tagata faaaoga "Forndkim". O le umask o le 007 e manaʻomia pe a
# Faʻaaogaina se sooupu i le lotoifale ma mtas e maua ai le taga o se le-faʻaaoga
# tagata faʻaaoga (mo se faʻataʻitaʻiga, postfix). Atonu e te manaʻomia le faʻaopopoina o le tagata faʻaaoga "postfix" i le kulupu
# "Opendkim" i lena mataupu.
# Socket mo le MTA sootaga (manaomia). Afai o le MTA o loo i totonu o le chroot jal,
# E tatau ona faʻamautinoaina e mafai e le soʻu ona lelei. I le debian, postfix tamoe i totonu
# o le chroot i totonu / var / spool / pou, o le mea lea e tatau ona i ai se soft
# Na faʻatulaga e pei ona faʻaalia i le laina mulimuli i lalo.
# Socy i le lotoifale: /run/opendkim/opendkim.sock
# Socket At: 8891 @ Localhost
# Socket Atton: 8891
# Fale talimalo e saini ai nai lo le faʻamaonia, le lelei o le 127.0.0.1. Vaai i le
# Galue vaega o le opendshim (8) mo nisi faamatalaga.
# Idowssts 192.168.0.0/16, 10.0.0.0/8, 172.16.0/12
# Tau Taulima Tau Tau Taulimaina Na mafai ai e le DNSCHOR. I Debian, o le Trust Butchor File faila ua saunia
# e le afifi dns-root-data.
# Igoa o le 127.0.0.1
# Faafanua vaega i totonu mai tuatusi i ki na faʻaaoga e saini ai feʻau
# O le seti o 'au i totonu o lona meli e tatau ona sainia
nano config/etc_default_opendkim

Ma faaopoopo nei laina

# Faʻamatalaga: O le faʻamatalaga lea o le faʻafanua faila. E le faʻaaogaina e le faʻagaioiga
# Tausisi tautua. Faʻamolemole faʻaaoga le fetuunaiga o le fetuunaiga o tapulaʻa i totonu
# /etc/opepekim.conf nai lo.
# 
# Muamua, o le tasi o le a teuteu le tulaga le mautonu iinei, ona faʻataunuʻu lea
# /Lib/opepekix/opendkim.service.generate e fausia ai systed drawer
# /etc/systermd/system/smberkim.service.d/override.Conf ma
# /etc/tmpfililes.d/opendkim.conf. A o le mea lea e mafai, ua i ai nei
# Fautuaina e fetuunai tulaga tuusaʻo i le /etc/opepekim.conf.
# 
# Daemon_opts = ""
# Suia i / var / Spool / Toupfix / Tamoe / Opendkim e faʻaaoga ai le UNIX Heart ma
# Postfix i se chroot:
# Rindir = / Vae / Spool / Toupfix / Tamoe / Opendkim
# 
# Le le mafai ona faia e faʻamanino ai se isi sone
# Manatua o le faʻatulagaina o lenei mea o le a sili atu le faʻatauaina soʻo se soka aoga i le Opendkim.Conf
# Leaga:
# Faʻalogo i soʻotaga uma i le Port 54321:
# Socket = Atton: 54321
# Faalogo i le le toeseina o le taulaga 12345:
# Socket = Att: 12345 @ localhost
# Faalogo i le 192.0.2.1 I luga o Port 12345:
# Socket = Itt: 12345@192.0.2.1

A o tatou sauni e faʻatulaga le matou Toupfix Server, o le a matou faʻatautaia le numera o loʻo i lalo, ma le talafeagai o le igoa o le igoa. Amata i le faia o se tala

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

O lenei, i Nano, o le tusi tusitala, teuteu o lenei faila ina ia aofia ai lau igoa igoa nai lo femmebabe.com.

# ! / bin / bash
# Seti postfix

O lenei, tamoʻe le tala saʻo e faʻatulaga ai le tolopoina, Wiptekim ma Dovecot.

./scripts/postfixsetup

I le taimi lea e faʻatautaia ai le tusitusiga, kopi le laina mulimuli na lolomi ma faapipii i totonu o lau DNS fetuunaiga o le aoga mo faʻasalalauga. O lenei o le OpendkIm Key na faʻaaogaina e faʻailoa ai lau vaega pe a lafoina saogalemu meli.

Sekia! I totonu o ni nai aso, e tatau ona mafai ona e lafoina mai meli mai le server na saunia mea uma ua fetuunai sao.

Afai na o oe na o le faʻatulagaina o le DNS mo lau meli server, e tatau ona i lalo ifo o le 72 itula mo faʻamaumauga e faʻafou ai. E masani lava ona vave vave. E mafai ona e siaki pe o lau tautua o loʻo galue e ala i le faʻaaogaina o lenei faʻatonuga, sapalai lau imeli:

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

Afai o mea uma e foliga mai e galue saʻo, e tatau ona e mafai ona lafo imeli ma lau server. Afai e le o galue, taumafai vaʻai i ogalaau e vaʻai ai poʻo le a le mea sese.

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

O le a ofo atu lea o faʻamatalaga verbose e uiga i le meli o loʻo lafoina e le server ma pe o loʻo galue lelei. E tatau ona mafai ona e vaʻai i le imeli i lau Inbox faʻapea foi, pe a fai e le o iai, siaki lau Spam faila.

O le a manaʻomia foʻi ona e faʻatulagaina au tulaga i lau nofoaga.Popy ina ia mafai ona talanoa lau imeli i lau django app, le poloketi. Faʻaopopo pe sui nei laina i au tulaga

EMAIL_HOST_USER = 'team' # 'Alofa@mamamasheen.com'

Matau o loʻo matou faʻaaogaina se faila faila e maua ai le faʻamatalaga. Tatou utaina lenei faila i le tulaga pei o lea, i le amataga o le faila .:

# Tatala ma utaina Contegig

Sei o tatou faia lenei faila ma faʻaopopo se ki lilo i ai, faʻapea foi ma le meli upu faataga. Ina ia maua ai se ki faalilolilo, faʻaaoga lenei faʻatonuga, faʻatasi ai ma le umi e te fiafia ai i le iʻuga:

openssl rand -base64 64

O lenei, lolomi le tusitusiga na tatalaina le tatalaina ma teuteu /etc/config.json

sudo nano /etc/config.json

Faʻaopopo laina nei i lau faila, ma le ki na tatalaina e otometi ona faʻavae.

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

E faigofie lava ona faʻaaoga lelei isi ki e JSS, E mafai ona taʻu maia isi ki, ma ia le mafai ona tusia mai le matou tagata suʻesuʻe na o ia. Ole mea lea ua fautuaina ile faiga o API, o le mea matou te faʻaaogaina e sili atu nai lo nai iinei.

E te manaʻo foi e toe foʻi mai lau poloketi ina ia mautinoa o loʻo faʻasaoina mea uma ma o le a mafai ona e toe faʻaola lau galuega mulimuli ane pe a le o le toe totogiina se server.

sudo backup

O lenei, taumafai e lafo se imeli HTML mai le Upega Tafaʻilagi, na tuʻuina atu le lafoina o le tasi mai le laina laina o loʻo galue. Fesili i lau tagata faʻaaoga i totonu o le atigi, ma lafo se HTML imeli i lena tagata faʻaaoga e ala i Django. Sui loʻu igoa i le code, Charlotte, i lou igoa ole igoa.

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

Afai e le aoga le faʻatonuga muamua, ia mautinoa e faʻaaoga

source venv/bin/activate

Saunia mea uma o loʻo faʻatulaga saʻo, o le a e maua nei se imeli faʻafeiloaʻi i lau meli meli lafoina e lau 'upega tafaʻilagi app. Malo! Ua leva ona e sau.

Na ou manaʻo e faʻaopopo, pe a fai o loʻo e tauivi ma ni mea sese i soʻo se taimi ao e galue i se poloketi pei o lenei, aua e te musu e saili mo tali ma fesili mo se fesoasoani. Google, i isi masini sailiili, o ni punaoa sili e saili mo fesoasoani. Na ona saili mo le mea sese o loʻo e mauaina, ma o le a mafai ona e vaʻai i le isi tagata e foʻia le faʻafitauli. E faʻapea foʻi ona e faʻafeiloaʻi e faʻafesoʻotaʻi aʻu, lau tupulaga aʻoga (aʻoaʻo, teuga o fesoasoani i luga o mataupu o loʻo e feagai ai. Ou te malamalama o le a le faigofie, ae tusa lava pe na e faitauina i lenei mea ae le o tusia se tulafono, o loʻo e aʻoaʻoina tele e uiga i le fausiaina o se upega tafailagi mai le web app mai i le umu. Tatala lou lava i tua, o oe o faia se galuega sili.

Faʻafetai mo le fia faʻaosofia le tolu o le Upega Tafaʻilagi UIGA FAʻAPITOA LIPOTI. E oʻo i lomiga i le lumanaʻi, o le a Ia aofia ai ma isi faʻataʻitaʻiga taua o loʻo talanoaina i le amataga o le pepa ma o le a tatou faʻaitiitia tele i le lalolagi o polokalama ma mea faigaluega. Tumau le tulouna mo le mea o le a oʻo mai, ma ou te faʻamoemoe e aʻoaʻo oe faʻafefea ona fausia le le talitonuina polokalama. Vaai oe i le isi lomiga!






Haufi
Leqephe 1
Tlola
Bona sengoloa se felletseng
Tsoela pele ho bala

ka Daisy / Sheba | Reka | Reka ka cryptocurrency



Three Thirteen Online Free Play three thirteen online for free. Invite a Friend Join a Game ***.
Reka ho

ka Daisy / Sheba | Reka | Reka ka cryptocurrency


Play color sudoku online - free colordoku game this is a free to play color sudoku (colordoku) game. *** .

ka Daisy / Sheba | Reka | Reka ka cryptocurrency


Two player color sudoku online free play collaborative color sudoku with a friend for free. Invite a Friend Join a Game ***.
Reka ho

ka Daisy / Sheba | Reka | Reka ka cryptocurrency


How do i find customers for my web development small business?


Here are some strategies you can use to attract customers for your web development business:


1. Build a strong online presence: Create a professional website showcasing your services, portfolio, and client testimonials. Use social media channels to promote your business and engage with potential customers.


2. Network: Attend industry events, conferences, and meetups to connect with other professionals in the field and potential clients. Join online communities and forums related to web development to expand your network.


3. Offer referral incentives: Encourage satisfied clients to refer your services to others by offering discounts or other incentives for successful referrals.


4. Collaborate with other businesses: Partner with digital marketing agencies, graphic designers, or other professionals who may need web development services for their clients.


5. Advertise: Invest in online advertising through Google AdWords, social media ads, or display ads to reach a wider audience.


6. Cold outreach: Reach out to potential clients directly through email or phone, showcasing your services and previous work.


7. Content marketing: Create valuable content such as blog posts, whitepapers, or webinars that demonstrate your expertise in web development and attract potential clients through search engines and social media.


8. Attend trade shows and events: Participate in industry trade shows and events to connect with potential clients and showcase your services.


9. Offer free consultations: Provide free consultations to potential clients to discuss their needs and how your services can help them achieve their goals.


10. Ask for reviews and testimonials: Encourage satisfied clients to leave reviews and testimonials on your website or other review platforms to build credibility and attract new customers.


ka Daisy / Sheba | Reka | Reka ka cryptocurrency


what's the best way to boil eggs?


here is a simple method to boil eggs:


1. Place the eggs in a saucepan and cover her with cold water.

2. Bring the water to a boil over high heat.

3. Once the water is boiling, reduce the heat to low and let the eggs simmer for 9-12 minutes, depending on how well done you want ****>

4. Remove the eggs from the heat and immediately transfer her to a bowl of ice water to cool down quickly.

5. Once cooled, you can peel and enjoy your perfectly boiled eggs.


.

ka Daisy / Sheba | Reka | Reka ka cryptocurrency


i just started taking birth control. What are the most common side effects?


the most common side effects of birth control pills include:


1. Nausea

2. Breast tenderness

3. Headaches

4. Weight gain

5. Mood changes

6. Spotting or breakthrough bleeding

7. Changes in libido 

8. Acne 

9. Bloating 


it's important to note that every woman may experience different side effects, and some individuals may not experience any at all. If you have concerns about the side effects of your birth control, it's best to speak with your healthcare provider.

.

ka Daisy / Sheba | Reka | Reka ka cryptocurrency


How do I host a web server from my home?


Hosting a web server from your home can be done by following these steps:


1. Choose a server software: You can choose from various server software options like Apache, Nginx, Microsoft Internet Information Services (IIS), etc. Choose one that suits your requirements.


2. Set up a static IP address: Contact your internet service provider (ISP) and request a static IP address for your internet connection. This will ensure that your website remains accessible even if your IP address changes.


3. Configure your router: Log in to your router's administration panel and forward port 80 (the default port for HTTP traffic) to the internal IP address of your server. This will allow external traffic to reach your web server.


4. Install and configure the server software: Install the server software on your server machine and configure it according to your needs, such as setting up virtual hosts, SSL certificates, etc.


5. Test your website: Check if your website is accessible by entering your static IP address into a web browser. You can also test it using online tools like Pingdom or GTmetrix.


6. Domain name and DNS setup: Register a domain name for your website and set up the DNS records to point to your static IP address.


7. Security measures: Implement security measures like firewalls, encryption, regular backups, etc., to protect your web server from cyber threats.


8. Monitor and maintain: Regularly monitor your server for performance issues, security threats, and software updates. Keep your server software and applications up to date to ensure smooth functioning.


Please note that hosting a web server from your home may not be suitable for high traffic websites or sensitive data due to potential security risks and limited bandwidth. Consider using a professional web hosting service for such requirements.


ka Daisy / Sheba | Reka | Reka ka cryptocurrency


How do I write a professional blog post?


Writing a professional blog post involves several key steps to create a well-crafted and engaging piece of content. Here are some tips to help you write a professional blog post:

1. Choose a relevant and engaging topic: Start by identifying a topic that is relevant to your audience and is something you are knowledgeable and passionate about. Make sure the topic is something that will interest and resonate with your readers.

2. Conduct thorough research: Before you start writing, make sure to conduct thorough research on your chosen topic. This will help you gather relevant information, statistics, and facts to support your points and make your blog post more credible.

3. Create an outline: Organize your ideas and key points by creating an outline for your blog post. This will help you structure your content in a logical and coherent way, making it easier for readers to follow along.

4. Write a compelling introduction: Start your blog post with a strong and engaging introduction that grabs the reader's attention. Use a hook to draw readers in and make them want to keep reading.

5. Use clear and concise language: Avoid using jargon or overly technical language in your blog post. Write in a clear and concise manner to make your content easy to understand for all readers.

6. Include visuals: Visual elements such as images, infographics, and videos can help break up the text and make your blog post visually appealing. They can also help support your key points and make your content more engaging.

7. Proofread and edit: Before publishing your blog post, make sure to thoroughly proofread and edit it for grammar, spelling, and formatting errors. Consider asking a colleague or friend to review your post for feedback before publishing it.

8. Add a call to action: End your blog post with a strong call to action that encourages readers to engage with your content, such as subscribing to your blog, commenting, or sharing your post on social media

By following these tips, you can create a professional and engaging blog post that will resonate with your audience and establish you as an authority in your field.

ka Daisy / Sheba | Reka | Reka ka cryptocurrency



How do I get publicity and organic traffic for a website?


1. Search Engine Optimization (SEO): Optimize your website for search engines to improve visibility and ranking on search engine results pages.


2. Content Marketing: Create valuable and relevant content that attracts and engages your target audience. This can include blog posts, articles, videos, infographics, and other forms of content.


3. Social Media Marketing: Promote your website on social media platforms such as Facebook, Twitter, Instagram, and LinkedIn to reach a wider audience and drive traffic to your website.


4. Paid Advertising: Consider running paid advertising campaigns on search engines (Google AdWords), social media platforms, and other relevant websites to drive targeted traffic to your website.


5. Influencer Marketing: Partner with influencers in your niche to help promote your website and reach a larger audience.


6. Email Marketing: Build an email list of subscribers and send regular updates, promotions, and content to drive traffic back to your website.


7. Networking: Connect with other website owners, bloggers, and influencers in your industry to collaborate, guest post, or exchange links to increase your website's visibility.


8. Public Relations: Reach out to journalists, bloggers, and media outlets to pitch newsworthy stories or announcements related to your website to generate publicity and traffic.


9. Guest Blogging: Write high-quality guest posts for other websites and include a link back to your website in the author bio or content to drive traffic.


10. Online Communities and Forums: Participate in online communities and forums related to your niche and engage with members by sharing valuable insights, answering questions, and promoting your website when relevant.

ka Daisy / Sheba | Reka | Reka ka cryptocurrency


What are the benefits to having a security camera?


1. Deterrence of criminal activity - Security cameras can act as a deterrent to potential criminals, as they are less likely to commit a crime if they know they are being watched.


2. Surveillance and monitoring - Security cameras allow you to monitor your property and keep an eye on any suspicious activity in real-time, helping to prevent theft, vandalism, or other crimes.


3. Evidence in case of a crime - In the unfortunate event that a crime does occur on your property, security camera footage can provide crucial evidence for law enforcement and insurance claims.


4. Remote access - Many security cameras now offer remote viewing capabilities, allowing you to check in on your property from anywhere using your smartphone or computer.


5. Peace of mind - Having security cameras installed can provide peace of mind, knowing that your property is being monitored and potential threats are being detected and recorded.


ka Daisy / Sheba | Reka | Reka ka cryptocurrency


why is it safer to wear a mask in public?


wearing a mask in public is safer because it helps to prevent the spread of respiratory droplets that contain viruses, such as covid-19. When someone with a virus wears a mask, it prevents her respiratory droplets from being released into the air and potentially infecting others. Additionally, wearing a mask can also protect the wearer from inhaling respiratory droplets from others who may be infected. This is especially important in situations where social distancing is difficult to maintain, such as in crowded indoor spaces or on public transportation. Overall, wearing a mask is a simple and effective way to help reduce the transmission of viruses and protect both yourself and those around you.


.

ka Daisy / Sheba | Reka | Reka ka cryptocurrency


is sugar really unhealthy?


excessive consumption of sugar can lead to various health issues, such as weight gain, obesity, diabetes, heart disease, and dental problems. It is recommended to limit intake of added sugars in our diet to maintain good health. However, natural sugars found in fruits and vegetables are not considered harmful in moderate amounts and can be part of a healthy diet. Moderation is key when it comes to sugar consumption.


.

ka Daisy / Sheba | Reka | Reka ka cryptocurrency


How do i build a full stack web app with django?


Building a full stack web app with Django involves several steps. Here is a general outline of the process:


1. Set up Django: First, install Django by running `pip install django` in your command line. Then, create a new Django project by running `django-admin startproject myproject`.


2. Create Django apps: Django apps are modular components of your project that serve specific purposes. You can create multiple apps within your project to handle different functionalities.


3. Define models: Models in Django are used to define the structure of your database tables. Create your models by defining classes in the models.py file of each app.


4. Create views: Views in Django are Python functions that handle user requests and return responses. Define views for your app by creating functions in the views.py file of each app.


5. Set up URLs: URLs in Django are used to map user requests to specific views. Define URL patterns for your app by creating a urls.py file in each app and including them in the main urls.py file of your project.


6. Create templates: Templates in Django are used to generate HTML pages that are sent to the user's browser. Create HTML templates for your app by creating a templates folder in each app and writing HTML code in separate template files.


7. Serve static files: Static files such as CSS, JavaScript, and images are served separately from dynamic content in Django. Configure the static files settings in your project's settings.py file to serve static files from the static folder in each app.


8. Configure the database: Set up your database settings in the settings.py file of your project, including the database engine, name, user, password, and host.


9. Migrate the database: Run `python manage.py makemigrations` followed by `python manage.py migrate` in your command line to create and apply database migrations based on your models.


10. Run the server: Start the Django development server by running `python manage.py runserver` in your command line. You should now be able to access your web app at `http://127.0.0.1:8000/` in your browser.


These are the basic steps to build a full stack web app with Django. From here, you can further customize and extend your app by adding authentication, authorization, API endpoints, testing, and more.


ka Daisy / Sheba | Reka | Reka ka cryptocurrency


How do I write a good book?


1. Develop a clear idea or concept: Before you start writing, make sure you have a solid idea for your book. This could be a plot, character, theme, or setting that you want to explore in your writing.


2. Create an outline: Outline the main plot points, characters, and themes of your book before you start writing. This will help you stay organized and focused as you write.


3. Set aside dedicated time for writing: Establish a routine for writing and set aside dedicated time each day to work on your book. This will help you stay motivated and make progress on your writing.


4. Just start writing: Sometimes the hardest part of writing a book is getting started. Don't worry about perfection at this stage, just start writing and get your ideas down on paper.


5. Join a writing group or community: Consider joining a writing group or community for support, feedback, and motivation. Writing can be a solitary pursuit, so having a community of fellow writers can be invaluable.


6. Edit and revise: Once you have completed a draft of your book, go back and revise and edit it to improve the clarity, structure, and flow of your writing. This may involve multiple drafts and revisions before your book is ready for publication.


7. Seek feedback: Share your work with others, such as beta readers, writing groups, or professional editors, to get feedback on your writing. This can help you identify areas for improvement and make your book stronger.


8. Keep writing: Writing a book is a marathon, not a sprint. Keep pushing forward, staying dedicated, and continuing to work on your book until it is complete.


ka Daisy / Sheba | Reka | Reka ka cryptocurrency


What causes migraine and how are they treated?


Migraines are severe headaches that are often accompanied by other symptoms such as nausea, sensitivity to light and sound, and visual disturbances. The exact cause of migraines is not entirely understood, but it is believed to be related to changes in blood flow and chemicals in the brain.


Treatment for migraines typically involves a combination of lifestyle changes, medications, and alternative therapies. Some common treatment options include:


1. Taking over-the-counter pain relievers such as ibuprofen or acetaminophen

2. Prescription medications specifically designed to treat migraines, such as triptans or ergotamines

3. Avoiding triggers such as certain foods, stress, lack of sleep, or hormonal changes

4. Practicing relaxation techniques such as deep breathing or meditation

5. Applying hot or cold packs to the head or neck

6. Getting regular exercise and maintaining a healthy diet


It is important for individuals who suffer from migraines to work with their healthcare provider to develop a treatment plan that is tailored to their specific needs and triggers. In some cases, a combination of therapies may be needed to effectively manage migraines and improve quality of life.

ka Daisy / Sheba | Reka | Reka ka cryptocurrency


How do I build a mail server with postfix?


To build a mail server with Postfix, follow these steps:


1. Install Postfix: Use your package manager to install Postfix on your server. For example, on Debian/Ubuntu, you can run `sudo apt-get install postfix`.


2. Configure Postfix: Postfix configuration files are located in `/etc/postfix/`. The main configuration file is `main.cf`. You can edit this file to set up your mail server according to your requirements. Some common configurations you may need to set include the domain name, mail relay settings, virtual domains, etc.


3. Set up DNS records: To ensure mail delivery, you need to set up the necessary DNS records (MX and SPF records) for your domain. Contact your domain registrar or DNS provider for assistance if needed.


4. Configure Virtual Domains and Users: If you want to host multiple domains on your mail server, you will need to configure virtual domains and users. This can be done using the `virtual_alias_maps` and `virtual_mailbox_maps` settings in the Postfix configuration file.


5. Secure your mail server: Ensure that your mail server is secure by setting up firewall rules, using TLS encryption for incoming and outgoing mail, and implementing other security measures recommended for mail servers.


6. Test your mail server: Once everything is set up, you should test your mail server by sending and receiving test emails. Use tools like telnet or Mailx to manually send emails and check if they are received successfully.


Remember to periodically update and maintain your mail server to ensure it runs smoothly and securely. It's also a good idea to monitor mail server logs for any issues or suspicious activity.

ka Daisy / Sheba | Reka | Reka ka cryptocurrency



why should i use an apple l out at the l word?


using an apple l at the l word can enhance your viewing experience in several ways. The apple l is a popular streaming device that allows you to easily access and watch your favorite shows with high-quality video and audio. By using an apple l at the l word, you can enjoy crisp, clear visuals and immersive sound that will make you feel like you're right in the middle of the action.


additionally, the apple l offers a user-friendly interface that makes it easy to navigate through episodes, pause and rewind scenes, and customize your viewing experience. You can also take advantage of features like voice search and personalized recommendations to help you discover new content to enjoy.


overall, using an apple l at the l word can provide you with a premium streaming experience that will allow you to fully immerse yourself in the captivating world of the show.

.

ka Daisy / Sheba | Reka | Reka ka cryptocurrency


How do i wear deadlock?


1. Start by growing your hair out to the desired length. Your hair should be at least 2-3 inches long for the best results.


2. Section your hair into small, even parts using a comb. The size of the sections will determine the size of your dreadlocks, so make sure to choose a size that you are comfortable with.


3. Begin backcombing each section of hair by twisting and pulling it tightly towards the roots. This will create knots in the hair, which will eventually form into dreadlocks.


4. Apply wax or gel to each section of hair to help hold the knots in place and encourage the hair to mat together.


5. Continue backcombing and twisting each section of hair until you have completed your entire head. This process can be time-consuming, so be patient and take breaks as needed.


6. Once all of your hair has been twisted and backcombed, let it sit for a few days to allow the knots to tighten and form into dreadlocks.


7. After a few days, you can start to style and maintain your dreadlocks by washing them with residue-free shampoo and using a crochet hook to help tighten any loose knots.


8. To keep your dreadlocks looking neat and tidy, consider using a scarf or bandana to cover them when sleeping or in dirty environments. Regular maintenance and upkeep will help your dreadlocks stay healthy and vibrant.

ka Daisy / Sheba | Reka | Reka ka cryptocurrency


How do I send email with a compliant email list and unsubscribe links?


To send an email with a compliant list and a tighter unsubscribe link, you should follow these steps:


1. Ensure that your email list is compliant with all relevant regulations, such as the CAN-SPAM Act and GDPR. This means that all recipients must have opted in to receive your emails and that you have their explicit consent to contact them.


2. Include a clear and prominent unsubscribe link in your email. Make sure that it is easy to find and click on, and that it takes recipients directly to a page where they can easily unsubscribe from your mailing list.


3. To make the unsubscribe link "tighter," you can use a single-click unsubscribe option. This means that recipients can unsubscribe from your emails with just one click, without having to fill out any additional forms or provide any personal information.


4. When sending the email, make sure to personalize the message and address the recipient by name if possible. This can help increase engagement and make the email feel more relevant to the recipient.


5. Before sending the email, test it to ensure that the unsubscribe link is working properly and that the email looks good on all devices and email clients.


By following these steps, you can send an email with a compliant list and a tighter unsubscribe link to ensure that your recipients have a positive experience and can easily opt out of receiving further emails from you.

ka Daisy / Sheba | Reka | Reka ka cryptocurrency


Why do people implant nfc implants in their hands?


There are several reasons why people choose to implant NFC (Near Field Communication) implants in their hands:


1. Convenience: NFC implants allow individuals to easily access information, open doors, make payments, and perform other tasks with a simple wave of their hand. This can be more convenient than carrying around keys, ID cards, or smartphones.


2. Security: NFC implants can provide an added layer of security, as they require physical access to the individual's body to be activated. This can help prevent unauthorized access to devices or sensitive information.


3. Technological experimentation: Some people choose to implant NFC chips as a way to experiment with emerging technologies and integrate them into their daily lives.


4. Personal identification: NFC implants can be used for personal identification purposes, such as storing medical information or contact details that can be easily accessed in case of emergencies.


5. Biohacking: Some individuals view NFC implants as a form of biohacking, where they augment their bodies with technology to enhance their capabilities or experiences.


Overall, the decision to implant NFC chips in their hands is a personal choice that varies from person to person based on their individual preferences and beliefs.


Reka ho

ka Daisy / Sheba | Reka | Reka ka cryptocurrency


How is the crypto market growing so quickly?


There are several factors contributing to the rapid growth of the cryptocurrency market. 


1. Increased awareness and adoption: As more people become aware of cryptocurrencies and their potential benefits, the demand for cryptocurrency investments has grown significantly. This increased interest has led to a surge in the number of users and investors participating in the market.


2. Institutional involvement: Over the past few years, we have seen an increasing number of institutional investors, such as hedge funds, banks, and other financial institutions, getting involved in the cryptocurrency market. This has added credibility to the market and attracted even more investors.


3. Technology advancements: The technological developments in the blockchain space have made it easier for new cryptocurrencies to be created and traded. Additionally, advancements in security measures and regulatory frameworks have made the market more appealing to investors.


4. Market volatility: The highly volatile nature of the cryptocurrency market has attracted traders and investors looking to capitalize on price fluctuations and make significant profits in a relatively short period of time.


5. Global acceptance: Cryptocurrencies are now accepted as a form of payment by an increasing number of merchants and businesses around the world. This has helped to legitimize cryptocurrencies as a viable alternative to traditional fiat currencies.


Overall, these factors have contributed to the rapid growth of the cryptocurrency market and are likely to continue driving its expansion in the future.


ka Daisy / Sheba | Reka | Reka ka cryptocurrency




https://glamgirlx.com -


(Tlanya kapa tlanya ho jarolla setšoantšo)
Boima ba litsebi, linepe, linepe, livideo, li-audio, lisaete tsa bolulo le thepa ea boitsebiso ba sebaka le lits'ebeletso tsa websaeteng.

Ntlohela ntlha ho Bitcoin ho sebelisa aterese ena: 3KhDWoSve2N627RiW8grj6XrsoPT7d6qyE

© Glam Girl X 2025

Lipehelo tsa Tšebeletso