Linux下开发python django程序(设置admin后台管理上传文件和前台上传文件保存数据库)

1.项目创建相关工作参考前面

2.在models.py文件中定义数据库结构

import django.db import models
class
RegisterUser(models.Model): username=models.CharField(max_length=30) headImg = models.FileField(upload_to='./upload/') def __unicode__(self): return self.username


3.生成数据库

python manage.py syncdb

 

4运行开发服务器 访问管理员界面

 

 

二.前台上传文件保存到数据库

1.生成项目和APP 过程同参考前面

2.设置models.py,urls.py参考前面文章设置

from django.db import models

# Create your models here.

class RegisterUser(models.Model):
    username=models.CharField(max_length=30)
    headImg = models.FileField(upload_to='./upload/')
    def __unicode__(self):
        return self.username

 

3.views.py定义冲界面取得POST的值和生成上传文件并且保存于数据库中

from django.http import HttpResponse
from django.template import loader,Context,Template
from django.shortcuts import render_to_response
from app1.models import User,Author,Book,RegisterUser
from django import forms


def
register(req): if req.method == 'POST': form = UserForm(req.POST,req.FILES) if form.is_valid(): print form.cleaned_data paths='./upload/'+form.cleaned_data['img'].name paths1 = paths.encode('utf-8') username = form.cleaned_data["name"] print paths1 fp=file(paths,'wb') s=form.cleaned_data['img'].read() fp.write(s) fp.close()
ruser
= RegisterUser() ruser.username = username ruser.headImg = paths ruser.save() return HttpResponse('ok') else: form = UserForm() return render_to_response('register.html',{'form':form})

 

posted @ 2016-09-23 10:45  whzym111  阅读(2415)  评论(0编辑  收藏  举报