Browse Source
Upravil jsem hlavní README.md soubor z duvodu toho aby clovek co navstivil tento repositar tak aby vedel co se tady deje.master
1 changed files with 125 additions and 1 deletions
@ -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 |
|||
## 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 |
|||
<h1>Feedback formular</h1> |
|||
|
|||
<form action="" method="post"> |
|||
{% csrf_token %} |
|||
{{form}} |
|||
<input type="submit"> |
|||
</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) |
Loading…
Reference in new issue