- データベース名
- sample
- テーブル名
- hello_user
カラムの説明
カラム名 |
データ型 |
説明 |
id |
bigint(20) |
AUTO_INCREMENT ,PRIMARY KEY |
name |
varchar(20) |
|
pythonApp\env\django_app\hello\forms.py
from django import forms
class HelloForm(forms.Form):
id = forms.IntegerField(label='ID')
pythonApp\env\django_app\hello\templates\hello\index.html
{% load static %}
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>hello/index</h1>
<table>
<form action="{% url 'hello:index' %}" method="post">
{% csrf_token %}
{{ forms.as_table }}
<tr>
<td></td>
<td><input type="submit" value="click"></td>
</tr>
</form>
</table>
<table>
<tr>
<th>ID</th>
<th>NAME</th>
</tr>
{% for item in data %}
<tr>
<td>{{item.id}}</td>
<td>{{item.name}}</td>
</tr>
{% endfor %}
</table>
</body>
</html>
pythonApp\env\django_app\hello\urls.py
from django.urls import path
from . import views
app_name = 'hello'
urlpatterns = [
path('', views.index, name='index'),
]
pythonApp\env\django_app\hello\models.py
from django.db import models
# Create your models here.
class User(models.Model):
name = models.CharField(max_length=20)
def __str__(self):
return str(self.id) + ":" + self.name
pythonApp\env\django_app\hello\views.py
from django.shortcuts import render
from django.http import HttpResponse
from .models import User
from .forms import HelloForm
# Create your views here.
def index(request):
params = {
'form': HelloForm(),
'data': [],
}
if(request.method == 'POST'):
num = request.POST['id']
item = User.objects.get(id=num)
params['data'] = [item]
params['form'] = HelloForm(request.POST)
else:
params['data'] = User.objects.all()
return render(request, 'hello/index.html', params)