From 376d220f5ff4f255835a51e7381148464c60b9d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C5=A0krab=C3=A1nek?= Date: Thu, 24 Feb 2022 11:15:33 +0100 Subject: [PATCH] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upravil jsem hlavní README.md soubor z duvodu toho aby clovek co navstivil tento repositar tak aby vedel co se tady deje. --- README.md | 126 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 125 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e2235b9..9027683 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,127 @@ # Django-form +Primarne pro 3.IM - Django aplikace pro jednoduché vytvoření formuláře -Primarne pro 3.IM - Django aplikace pro jednoduché vytvoření formuláře \ No newline at end of file +## Django formuláře - postup + +Nejprve si zjistíme, jestli jsme ve virtualním prostředí pro python +> *(venv) C:\pythonProjects\Django :* - ukazka cmd prostředí + +Můžeme pokračovat: +1. vytvoření virtualního prostředi + +> python -m venv .venv + + +2. Aktivace virtuálního prostředí + +> .venv\Scripts\activate.bat + + +3. Instalace frameworku Django + +> (.venv) pip install Django + + + +4. Založení Django projektu + +> (.venv) django-admin startproject **název_projektu** . + +Nezapomenout na TEČKU na konci příkazu (jinak to bude složitější složkování) + +5. Založení Django aplikace + +> (.venv) python manage.py startapp **název_aplikace** + +a následné přidání **název_aplikace** do *název_projektu/settings.py* do kolonky INSTALLED_APPS + +6. vytvoření základního modelu v *název_projektu/models.py* + +```python +from django.db import models + + +class feedbackModel(models.Model): + nazev = models.CharField(max_length=100) + zprava = models.TextField(max_length=10000) + + def __str__(self): + return self.nazev + " " + self.zprava +``` + +7. vytvoření souboru **forms.py** ve složce *název_aplikace* +8. Přídání IndexView do *nazev_projektu/urls.py* a *název_aplikace/views.py* + +urls.py -> přídáme jen to, co je ve "** **" +```python +from django.contrib import admin +from django.urls import path +**from form.views import indexView** + +urlpatterns = [ + path('admin/', admin.site.urls), + **path('',indexView),** +] +``` + +views.py +```python +from django.shortcuts import render +from .forms import feedbackForm + +def indexView(request): + form = feedbackForm + if request.method == "POST": + #print(request.POST) #potrebuju zkontrolovani + form = feedbackForm(request.POST) + if form.is_valid(): + form.save() + context = {'form':form} + return render(request,"index.html", context) +``` + +9. vytvoříme složku *templates* v složce s aplikaci a vytvoříme ve složce jestě soubor *index.html* + +```html +

Feedback formular

+ +
+ {% csrf_token %} + {{form}} + +
+``` +10. Přidat model do admin.py +```python +from django.contrib import admin +from .models import feedbackModel + +admin.site.register(feedbackModel) +``` + +11. zkontrolujeme databázi (migrujeme) a vytvoříme si SuperUser + +> manage.py makemigrations + +> manage.py migrate + +> manage.py createsuperuser + +12. HOTOVO - vložíme nějaké texty a zkontrolujeme admin panel + +Postup pro hezčí formulář + +1. nainstalovat crispy_forms +> (.venv) pip install django-crispy-forms + +2. vložit na začátek souboru index.html + +`{% load crispy_forms_tags %}` + +3. upravit v index.html + +`{{form}}` na `{{form | crispy}}` + + +### postup při importu +(Work in progress) \ No newline at end of file