一、创建项目 django-admin.py startproject CRUDproject
cd CRUDproject
二、创建应用 python manage.py startapp CRUDapp
三、添加应用到项目中(setting.py)
四、在models.py中创建类(表):
from __future__ import unicode_literals
from django.db import models
class Info【表名】(models.Model):
name = models.CharField(max_length=30)
age = models.IntegerField()
sex = models.CharField(max_length=10)
tel = models.CharField(max_length=30)
address = models.CharField(max_length=50)
deleted = models.IntegerField('是否有效', default=0)
五、创建数据库(在midels之后) python manage.py makemigrations
python manage.py migrate
python manage.py runserver
六、在添加的应用名下创建文件夹templates、创建urls.py,在templates下创建和应用名同名的文件 夹(CRUDapp),在此文件夹中创建需要的HTML文件
七、在主urls.py中配置urls:
from django.conf.urls import include,url
from django.contrib import admin
urlpatterns = [
url(r'', include("CRUDapp(应用名).urls")),#新添此行
url(r'^admin/', admin.site.urls),
]
八、1)在模板下的CRUDapp中创建html文件:index.html,
2)并在views.py中对其添加方法:
#-*-coding:utf-8 -*-
from django.http import HttpResponse
from CRUDapp.models import Info
from django.shortcuts import render
def index(request):
list=Info.objects.filter(deleted=0)
return render(request,'CRUDapp/index.html',{'list':list})
3)配置应用下的urls
#-*-coding:utf-8 -*-
from django.conf.urls import*
from CRUDapp import views
urlpatterns=[
url(r'^$',views.index,name='index'),#页面跳转到首页
]
【【首页完成】】
【跳转至添加页面】
一、在index.html文件中:<a href="{% url 'toAdd' %}">添加数据</a>
二、在views.py中对其添加方法:
def toAdd(request):
return render(request,"CRUDapp/addinfo.html")
三、在应用下的urls中添加对其的配置:
url(r'^toAdd$',views.toAdd,name='toAdd'),
【添加数据】
一、在模板下的CRUDapp中创建html文件:addinfo.html
二、在addinfo.html中表单提交的处理:
<form method="get" action="{% url 'add' %}">
三、在views.py中对其添加方法:
def add(request):
name = request.GET.get("name","")
price = request.GET.get("price","")
number = request.GET.get("number","")
type = request.GET.get("type","")
address = request.GET.get("address","")
addmodel=Info (name=name,price=price,number=number,type=type,address=address)
addmodel.save()
list=Info.objects.filter(deleted=0)
return render(request,"CRUDapp/index.html",{'list':list})
四、在应用下的urls中添加对其的配置:在应用下的urls中添加对其的配置:
url(r'^add$',views.add,name='add')
【查询数据】
一、在index.html文件中:获取views文件方法中查询到的数据:
{% for foo in list %}
<tr>
<td align="center" height="40">{{ foo.number }}</td>
<td align="center" height="40">{{ foo.name }}</td>
<td align="center" height="40">{{ foo.price }}</td>
<td align="center" height="40">{{ foo.type }}</td>
<td align="center" height="40">{{ foo.address }}</td>
<td align="center" height="40">编辑</td>
<td align="center" height="40">删除</td>
</tr>
{% endfor %}
【删除数据】
一、在index.html文件中添加删除的链接:
<a href="{% url 'delete' %}?id={{ foo.id }}">删除</a>
二、在views.py中对其添加方法:
def delete(request):
id1=request.GET.get("id","")
deletemodel=Info.objects.get(id=id1)
deletemodel.delete()
list=Info.objects.filter(deleted=0)
return render(request, 'CRUDapp/index.html', {'list': list})
三、在应用下的urls中添加对其的配置:
url(r'^delete$',views.delete,name='delete'),
四、添加删除数据提示框:
1)<script>
function dele(idd) {
if(confirm("确定删除?")){
location.href="{% url 'delete' %}?id="+idd;
}
}
</script>
2)将删除的链接修改为:<a οnclick="dele('{{ foo.id }}')">删除</a>
【跳转至编辑页面】
一、在index.html文件中添加修改的链接:
<a href="{% url 'toEdit' %}?id={{ foo.id }}">编辑</a>
二、在views.py中对其添加方法:
def toEdit(request):
id2=request.GET.get("id","")
id3=int(id2)
editmodel=Info.objects.get(id=id3)
return render(request,"CRUDapp/editinfo.html",{"list":editmodel})
三、在应用下的urls中添加对其的配置:
url(r'^toEdit$', views.toEdit, name='toEdit'),
【修改数据】
一、在editinfo.html文件中的表单提交处理:
<form method="get" action="{% url 'edit' %}">
二、在views.py中对其添加方法:
def edit(request):
editid=request.GET.get("id")
name = request.GET.get("name", "")
price = request.GET.get("price", "")
number = request.GET.get("number", "")
type = request.GET.get("type", "")
address = request.GET.get("address", "")
editinfomodel=Info.objects.get(id=editid)
editinfomodel.name=name
editinfomodel.price=price
editinfomodel.number=number
editinfomodel.type=type
editinfomodel.address = address
editinfomodel.save()
list=Info.objects.filter(deleted=0)
return render(request, 'CRUDapp/index.html', {'list': list})
三、在应用下的urls中添加对其的配置:
url(r'^edit$',views.edit,name='edit'),
cd CRUDproject
二、创建应用 python manage.py startapp CRUDapp
三、添加应用到项目中(setting.py)
四、在models.py中创建类(表):
from __future__ import unicode_literals
from django.db import models
class Info【表名】(models.Model):
name = models.CharField(max_length=30)
age = models.IntegerField()
sex = models.CharField(max_length=10)
tel = models.CharField(max_length=30)
address = models.CharField(max_length=50)
deleted = models.IntegerField('是否有效', default=0)
五、创建数据库(在midels之后) python manage.py makemigrations
python manage.py migrate
python manage.py runserver
六、在添加的应用名下创建文件夹templates、创建urls.py,在templates下创建和应用名同名的文件 夹(CRUDapp),在此文件夹中创建需要的HTML文件
七、在主urls.py中配置urls:
from django.conf.urls import include,url
from django.contrib import admin
urlpatterns = [
url(r'', include("CRUDapp(应用名).urls")),#新添此行
url(r'^admin/', admin.site.urls),
]
八、1)在模板下的CRUDapp中创建html文件:index.html,
2)并在views.py中对其添加方法:
#-*-coding:utf-8 -*-
from django.http import HttpResponse
from CRUDapp.models import Info
from django.shortcuts import render
def index(request):
list=Info.objects.filter(deleted=0)
return render(request,'CRUDapp/index.html',{'list':list})
3)配置应用下的urls
#-*-coding:utf-8 -*-
from django.conf.urls import*
from CRUDapp import views
urlpatterns=[
url(r'^$',views.index,name='index'),#页面跳转到首页
]
【【首页完成】】
【跳转至添加页面】
一、在index.html文件中:<a href="{% url 'toAdd' %}">添加数据</a>
二、在views.py中对其添加方法:
def toAdd(request):
return render(request,"CRUDapp/addinfo.html")
三、在应用下的urls中添加对其的配置:
url(r'^toAdd$',views.toAdd,name='toAdd'),
【添加数据】
一、在模板下的CRUDapp中创建html文件:addinfo.html
二、在addinfo.html中表单提交的处理:
<form method="get" action="{% url 'add' %}">
三、在views.py中对其添加方法:
def add(request):
name = request.GET.get("name","")
price = request.GET.get("price","")
number = request.GET.get("number","")
type = request.GET.get("type","")
address = request.GET.get("address","")
addmodel=Info (name=name,price=price,number=number,type=type,address=address)
addmodel.save()
list=Info.objects.filter(deleted=0)
return render(request,"CRUDapp/index.html",{'list':list})
四、在应用下的urls中添加对其的配置:在应用下的urls中添加对其的配置:
url(r'^add$',views.add,name='add')
【查询数据】
一、在index.html文件中:获取views文件方法中查询到的数据:
{% for foo in list %}
<tr>
<td align="center" height="40">{{ foo.number }}</td>
<td align="center" height="40">{{ foo.name }}</td>
<td align="center" height="40">{{ foo.price }}</td>
<td align="center" height="40">{{ foo.type }}</td>
<td align="center" height="40">{{ foo.address }}</td>
<td align="center" height="40">编辑</td>
<td align="center" height="40">删除</td>
</tr>
{% endfor %}
【删除数据】
一、在index.html文件中添加删除的链接:
<a href="{% url 'delete' %}?id={{ foo.id }}">删除</a>
二、在views.py中对其添加方法:
def delete(request):
id1=request.GET.get("id","")
deletemodel=Info.objects.get(id=id1)
deletemodel.delete()
list=Info.objects.filter(deleted=0)
return render(request, 'CRUDapp/index.html', {'list': list})
三、在应用下的urls中添加对其的配置:
url(r'^delete$',views.delete,name='delete'),
四、添加删除数据提示框:
1)<script>
function dele(idd) {
if(confirm("确定删除?")){
location.href="{% url 'delete' %}?id="+idd;
}
}
</script>
2)将删除的链接修改为:<a οnclick="dele('{{ foo.id }}')">删除</a>
【跳转至编辑页面】
一、在index.html文件中添加修改的链接:
<a href="{% url 'toEdit' %}?id={{ foo.id }}">编辑</a>
二、在views.py中对其添加方法:
def toEdit(request):
id2=request.GET.get("id","")
id3=int(id2)
editmodel=Info.objects.get(id=id3)
return render(request,"CRUDapp/editinfo.html",{"list":editmodel})
三、在应用下的urls中添加对其的配置:
url(r'^toEdit$', views.toEdit, name='toEdit'),
【修改数据】
一、在editinfo.html文件中的表单提交处理:
<form method="get" action="{% url 'edit' %}">
二、在views.py中对其添加方法:
def edit(request):
editid=request.GET.get("id")
name = request.GET.get("name", "")
price = request.GET.get("price", "")
number = request.GET.get("number", "")
type = request.GET.get("type", "")
address = request.GET.get("address", "")
editinfomodel=Info.objects.get(id=editid)
editinfomodel.name=name
editinfomodel.price=price
editinfomodel.number=number
editinfomodel.type=type
editinfomodel.address = address
editinfomodel.save()
list=Info.objects.filter(deleted=0)
return render(request, 'CRUDapp/index.html', {'list': list})
三、在应用下的urls中添加对其的配置:
url(r'^edit$',views.edit,name='edit'),