1.编辑demo/demo/setting.py 文件,做ALLOWED_HOSTS主机访问配置(若第三步已做可跳过此步骤)
#此处添加自己的ip 地址
ALLOWED_HOSTS=['192.168.2.240']
2.编写项目主路由urls配置,配置对mytest应用路由的访问连接配置
from django.conf.urls import include,url
from django.contrib import admin
urlpatterns=[
url(r '^admin/' , admin.site.urls ),
url(r '^mytest/',include('mytest.urls') ),
]
3.配置当前应用mytest的路由配置
在mytest应用目录下创建一个路由文件urls.py文件,注意此文件编码为utf-8(建议复制一个)
编辑应用中的路由配置文件:demo/mytest/urls.py,内容如下:
from django.conf.urls import url
from .import views
urlpatterns=[
url( r'^$',views.index,name='index' ),
]
4.编码试图文件:demo/mytest/views.py,内容如下:
#from django.shortcuts import render
from django.http import HttpResponse
from mytest.models import Users
def index(request):
try:
s = Users.objects.get(id=1)
return HttpResponse(s)
except:
return HttpResponse("没有找到对应的信息!")
5.测试
项目根目录下运行
python manage.py sunserver 0:8000 命令,开启服务:
[root@localhost demo]# python3.6 manage.py runserver 0:8000
Performing system checks...
System check identified no issues (0 silenced).
July 28, 2017 - 14:01:52
Django version 1.11, using settings 'demo.settings'
Starting development server at http://0:8000/
Quit the server with CONTROL-C.
打开浏览器,在浏览其中输入网址测试:http://192.168.2.240:8000/mytest/
显示结果:张三12345678901
继续上面操作完成Web版的Users信息增 删 改 查
一.准备模板文件,创建模板目录
1.1:在项目目录下创建templates模板目录
1.2:进入模板目录templates,在模板目录下创建应用名mytest的目录
1.3 : 在进入mytest目录,在里面创建一个users目录
1.4:在进入users目录,在里面创建文件:index.html,add.html,edit.html,menu.html,info.html
1.:5:设置模板目录信息,编辑demo/demo/settings.py文件,若第三步已做可跳过此步骤
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,'templates'),],
'APP_DIRS': True,
二:配置路由信息
打开文件:demo/mytest/urls.py路由文件,加入六条路由配置信息
from django.conf.urls import url
from .import views
urlpatters=[
url(r'^$',views.index,name="index"),
url ( r'^ures$',views.indexUsers,name="users"), #浏览用户信息
url (r'^users/add$' ,views.addUsers,name="addusers") ,#加载添加用户信息的表单
url(r'^users/insert$',views.insertUsers,name="insertusers"), #执行用户信息添加
url(r'^users/(?p<uid>[0-9+])/del$',views.delUsers,name="delusers"), #执行用户信息删除
url('^ users/(?p<uid>(?p<uid[0-9]+>)/edit%',views.editUsers,name="editusers" ), #加载用户信息编辑表单
url(r'^users/update$',views.updateUsers,name="updateusers") #执行用户信息编辑
]
三.编写视图文件:demo/mytset/views.py
#注意:需要导入from django.shortcuts import render
from django.shortcuts import render
from django.http import HttpResponse
from mytset.models import Uers
def index(request):
try:
list=Users.objects.filter(id__in=[1,3,5])
s=','.join([vo.name for vo in list])
#修改(将id值为5的age值改为30)
#ob=Users.objects.get(id=5)
#ob.age=30
#ob.save()
#删除(删除id为3的数据)
#ob=Users.objects.get(id=3)
#ob.delete()
return HttpResponse(s)
except:
return HttpResponse("没有找到对应的信息!")
# 浏览用户信息
def indexUsers(request):
# 执行数据查询,并放置到模板中
list = Users.objects.all()
context = {"stulist":list}
return render(request,"mytest/users/index.html",context)
# 加载添加信息表单
def addUsers(request):
return render(request,"mytest/users/add.html")
# 执行信息添加操作
def insertUsers(request):
try:
ob = Users()
ob.name = request.POST['name']
ob.age = request.POST['age']
ob.phone = request.POST['phone']
ob.save()
context = {'info':'添加成功!'}
except:
context = {'info':'添加失败!'}
return render(request,"mytest/users/info.html",context)
# 执行信息删除操作
def delUsers(request,uid):
try:
ob = Users.objects.get(id=uid)
ob.delete()
context = {'info':'删除成功!'}
except:
context = {'info':'删除失败!'}
return render(request,"mytest/users/info.html",context)
# 加载信息编辑表单
def editUsers(request,uid):
try:
ob = Users.objects.get(id=uid)
context = {'user':ob}
return render(request,"mytest/users/edit.html",context)
except:
context = {'info':'没有找到要修改的信息!'}
return render(request,"mytest/users/info.html",context)
# 执行信息编辑操作
def updateUsers(request):
try:
ob = Users.objects.get(id= request.POST['id'])
ob.name = request.POST['name']
ob.age = request.POST['age']
ob.phone = request.POST['phone']
ob.save()
context = {'info':'修改成功!'}
except:
context = {'info':'修改失败!'}
return render(request,"mytest/users/info.html",context)
四。编辑浏览信息视图文件:
文件位置:demo/templates/mytest/users/index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>用户信息管理</title>
<script>
//自定义执行信息删除提示判断,参数uu是成功的删除url地址
function doDel(uu){
if(confirm("确定要删除吗?")){
//网页跳转
window.location=uu;
}
}
</script>
</head>
<body>
<center>
{% include 'mytest/users/menu.html' %}
<h3>浏览用户信息</h3>
<table width="800" border="1">
<tr>
<th>id号</th>
<th>姓名</th>
<th>年龄</th>
<th>电话</th>
<th>操作</th>
</tr>
{% for stu in stulist %}
<tr>
<td>{{ stu.id }}</td>
<td>{{ stu.name }}</td>
<td>{{ stu.age }}</td>
<td>{{ stu.phone }}</td>
<td>
<a href="{% url 'editusers' stu.id %}">编辑</a>
<a href="javascript:doDel('{% url 'delusers' stu.id %}');">删除</a>
</td>
</tr>
{% endfor %}
</table>
</center>
</body>
</html>
五。编辑添加表单视图数据
文件位置:demo/templates/mytest/users/add.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>用户信息管理</title>
</head>
<body>
<center>
{% include "mytest/users/menu.html" %}
<h3>添加用户信息</h3>
<form action="{% url 'insertusers' %}" method="post">
{% csrf_token %}
<table width="280" border="0">
<tr>
<td>姓名:</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>年龄:</td>
<td><input type="text" name="age"/></td>
</tr>
<tr>
<td>电话:</td>
<td><input type="text" name="phone"/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="添加"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
六。编辑信息表单视图文件
文件位置:demo/templates/mytset/users/edit.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>用户信息管理</title>
</head>
<body>
<center>
{% include "mytest/users/menu.html" %}
<h3>修改用户信息</h3>
<form action="{% url 'updateusers' %}" method="post">
<input type="hidden" name="id" value="{{ user.id}}"/>
{% csrf_token %}
<table width="280" border="0">
<tr>
<td>姓名:</td>
<td><input type="text" name="name" value="{{ user.name }}"/></td>
</tr>
<tr>
<td>年龄:</td>
<td><input type="text" name="age" value="{{ user.age }}"/></td>
</tr>
<tr>
<td>电话:</td>
<td><input type="text" name="phone" value="{{ user.phone }}"/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="编辑"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
七。编辑公共导航栏页面视图文件
文件位置:demo/templates/mytest/users/menu.html
<h2>用户信息管理</h2>
<a href="{% url 'users' %}">浏览用户</a> |
<a href="{% url 'addusers' %}">添加用户</a>
<hr/>
文件位置:demo/templates/mytest/users/info.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>用户信息管理</title>
</head>
<body>
<center>
{% include "mytest/users/menu.html" %}
<h3>{{ info }}</h3>
</center>
</body>
</html>