№1 Практическая онлайн-школа обучения языкам программирования Python (Django), JavaScript, Kotlin В. Бовсуновского.

Специальная, подарочная акция получения доступа к Django4!

Как, я, начал код писать в Python? Смотрите, если уперлись и ничего не получается.

6. Посмотрим на API соберём в голове всю документацию вокруг API.

План я написал, но прежде чем вплотную перейти к формам, подготовим профессиональную почву.

Нам нужно посмотреть на API опять с позиции исходного кода и научится в API различать методы и аргументы, опять же разобраться что где будем применять и дальше мы пройдём по всем пунктам документации собирая до кучи все к API.

filds

def __init__(self, *, required=True, widget=None, label=None, initial=None,
                 help_text='', error_messages=None, show_hidden_initial=False,
                 validators=(), localize=False, disabled=False, label_suffix=None):

form

# argumetns
def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None,
                 initial=None, error_class=ErrorList, label_suffix=None,
                 empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None):
  1. Проработать документацию.

  2. Создать форму.

  3. Отработать API.

  4. Разделить в голове аргументы и методы:

     аргументы в полях использовать. (в полях не забыть про виджеты)
    
     методы использовать в представлениях.
     написать представление для формы (обратить внимание на загрузкук файлов.)
    
  5. Формы из моделей.

  6. media контент.

  7. Тонкости(настройки) формы из моделей. (это наше основное)

class ContactForm(forms.Form):
    subject = forms.CharField(max_length=100)
    message = forms.CharField(widget=forms.Textarea)
    sender = forms.EmailField()
    cc_myself = forms.BooleanField(required=False)

Formset - домашнее задание.

Перейти к уроку

7. Напомню вам классы Python, а именно передачу аргументов.

Напишем простенький класс, что бы напомнить себе Пайтон основы, нас интересует момент при передаче аргументов параметрам.

-

Относительно ранее взятых из документации __init__ в forms и fields.

fields.

def __init__(self, *, required=True, widget=None, label=None, initial=None,
                 help_text='', error_messages=None, show_hidden_initial=False,
                 validators=(), localize=False, disabled=False, label_suffix=None):

form

```python

argumetns

def init(self, data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=ErrorList, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None):

class Form:
    def __init__(self, *,  arg2=None, arg1=True):
        self.arg1 = arg1
        self.arg2 = arg2
        
    def is_valid(self):
        pass
    
    
        
form = Form(arg2 = "11", arg1 =False) # arg1='str1', arg2="str2"


#help(Form)
#type(form)
#dir(Form)
#form.__dict__
#id(form)

Перейти к уроку

8. Давайте напишем форму, с которой будем работать далее.

Мы б конечно могли просто работать в jupyter notebook, но думаю будет лучше, если мы напишем форму реальную в файле - это нам даст и работать с jupyter и писать представления и реально добавлять аргументы полей. так все в голове надёжно соберём.

Не забыли нашу цель, уверенно пользоваться документацией.

Перейти к уроку

9. Поймём, что форме можно писать методы, например, проверки полей.

Более чем за 10 лет работы с Джанго, я практически не видел, что бы программисты писали методы в формах, все отдано в представление.

на самом деле можно задать абсолютно любые условия в форме и проверить их.

Но ведь это и так вроде бы понятно, так как форма - это прежде всего класс Пайтон, а класс поддерживает методы.

Это очень круто! Давайте научимся.

Перейти к уроку

10. Заполним данные для отправки почты.

Мы создали форму, как в документации Джанго(что б вам легче было прорабатывать), для отправки сообщений.

Прежде чем начать работать с API. давайте напишем представление и шаблон и реально отправим почту, как раз познакомитесь ещё с одной библиотекой Джанго email.

А потом уже приступим к детальной отработке API и будем коверкать нашу форму.

Перейти к уроку