class UserInfo(models.Model):
username = models.CharField(max_length=20, unique=True, null=False)
password = models.CharField(max_length=20)
image = models.ImageField(upload_to='/home/python/Desktop/new_pro/static')
phone = models.IntegerField()
email = models.CharField(max_length=20)
is_active = models.BooleanField(default=False)
is_delete = models.BooleanField(default=False)
def __str__(self):
return self.username
2.首先写好上传图片的html:
<form method="post" action="{% url 'user2:register' %}" enctype="multipart/form-data">
{% csrf_token %}
<ul>
<li>
<label>用户名:</label>
<input type="text" name="user_name" id="user_name">
<span class="error_tip">提示信息</span>
</li>
<li>
<label>密码:</label>
<input type="password" name="pwd" id="pwd">
<span class="error_tip">提示信息</span>
</li>
<li>
<label>确认密码:</label>
<input type="password" name="cpwd" id="cpwd">
<span class="error_tip">提示信息</span>
</li>
<li>
<label>手机:</label>
<input type="text" name="phone" id="phone">
<span class="error_tip">提示信息</span>
</li>
<li>
<label>邮箱:</label>
<input type="text" name="email" id="email">
<span class="error_tip">提示信息</span>
</li>
<li>
<label>头像:</label>
<input type="file" name="image" id="image">
<span class="error_tip">提示信息</span>
</li>
<li class="agreement">
<input type="checkbox" name="allow" id="allow" checked="checked">
<label>同意”天天生鲜用户使用协议“</label>
<span class="error_tip2">提示信息</span>
</li>
<li class="reg_sub">
<input type="submit" value="注 册" name="">
</li>
<span>{{ info }}</span>
</ul>
</form>
3.在项目的根urls.py配置:
url(r"^register/",include('register.urls',namespace='user2')),
url(r'static/(?P<path>.*)', 'django.views.static.serve', {'document_root': '/home/python/Desktop/new_pro/static'}),
4.在自己的app中urls.py配置:
url(r'^$',views.RegisterHandler.as_view(),name='register'),
url(r"^showimage",views.showimage)
5.在views.py配置:
from django.shortcuts import render,HttpResponse,redirect
from django.views.generic import View
from user.models import UserInfo
# Create your views here.
class RegisterHandler(View):
def get(self,request):
return render(request,'register.html')
def post(self,request):
username=request.POST.get('user_name')
pwd=request.POST.get('pwd')
phone=request.POST.get('phone')
email=request.POST.get('email')
image=request.FILES.get('image')
allow=request.POST.get('allow')
if allow=='on':
user=UserInfo.objects.create(username=username,password=pwd,phone=phone,email=email,image=image)
# user.save()
return redirect('/register/showimage')
def showimage(request):
userlist=UserInfo.objects.all()
return render(request,'registershow.html',{'userlist':userlist})
6.写展示图片的html:
<style type="text/css">
img{
width: 180px;
height:180px;
display: inline-block;
border-radius: 50%;
border: 1px solid red;
}
table{
{#border: 1px solid red;#}
}
ul{
list-style: none;
}
ul li{
height: 20px;
line-height: 20px;
{#border-bottom: 1px solid black;#}
margin-top: 10px;
font-size:20px;
}
span{
float: left;
}
</style>
</head>
<body>
{% for user in userlist %}
<table>
<tr>
<td><img src="{{ user.image }}"></td>
<td>
<ul>
<li><span>姓名:</span>{{ user.username }}</li>
<li><span>邮箱:</span>{{ user.email }}</li>
<li><span>电话:</span>{{ user.phone }}</li>
</ul>
</td>
</tr>
</table>
{% endfor %}
</body>
7.最终显示图片页面效果: