Django项目15

1.准备工作。sql,project,app,admin,(templates,static)后面两个都在app内部。

2.settings

DATABASES = { 
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', 
        'NAME': 'my.db',                               
    }   
}

TIME_ZONE = 'Asia/Shanghai'
LANGUAGE_CODE = 'zh-cn'

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    #'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admin',
    'blog',
)

3.urls

from django.conf.urls.defaults import patterns, include, url 
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^regist/$','blog.views.regist'),
    url(r'^fileup/$','blog.views.fileup'),
    url(r'^fileup2/$','blog.views.fileup2'),
    url(r'^admin/', include(admin.site.urls)),
)

views
#coding:utf8
from blog.models import User
from django.http import HttpResponse
from django.shortcuts import render_to_response
from django import forms

class UserForm(forms.ModelForm):
    class Meta:
        model = User
def regist(req):
    if req.method == 'POST':
        userform = UserForm(req.POST,req.FILES)#既是数据库对象,又是表单对象
        if userform.is_valid():
            userform.save()
            return HttpResponse('ok')
    else:
        userform = UserForm()
    return render_to_response('regist.html',{'userform':userform})
def fileup(req):
    f= req.FILES.get('bighead')#获取的是文件句柄
    s= f.read()
    s= '<pre>'+s+'</pre>'
    fp = file('./note2013','wb')#二进制方式保存
    fp.write(s)
    fp.close()
    return HttpResponse(s)

class MyForm(forms.Form):
    name = forms.CharField()
    note = forms.FileField()


def fileup2(req):
    if req.method == 'POST':
        form = MyForm(req.POST,req.FILES)
        if form.is_valid():
            name = req.POST.get('name')
            note = req.FILES.get('note')
            s = note.read()
            fp = file('note01','wb')
            fp.write(s)
            fp.close()
            return HttpResponse('ok')
    else:
        form = MyForm()
    return render_to_response('fileup2.html',{'form':form})
models
from django.db import models
class User(models.Model):
    name = models.CharField(max_length=20)
    sex =models.CharField(choices=(('m','male'),('f','female')),max_length=1)
    myfile = models.FileField(upload_to='upfile/')
    def __unicode__(self):
        return self.name

static/f.html

<body>
<form  method="post" enctype="multipart/form-data">
{{form.as_p}}
<input type="submit" />
</form>
</body>

templates/fileup2.html &&regist.html

<body>
<form action="/fileup/" method="post" enctype="multipart/form-data">
<input type="file" name="bighead" /><br />
<input type="submit" />
</form>
</body>
<body>
<form method="POST" enctype="multipart/form-data"> 
{{userform.as_p}}
<input type="submit" value="注册">
</form>
</body>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值