Django项目15


1.准备工作。sql,project,app,admin,(templates,static)后面两个都在app内部。
2.settings
[python] 
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
[python]  
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
[python]  
#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
[python]  
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
[html]  
<body>  
<form  method="post" enctype="multipart/form-data">  
{{form.as_p}}  
<input type="submit" />  
</form>  
</body>  
 
templates/fileup2.html &&regist.html
[plain] view plaincopyprint?
<body>  
<form action="/fileup/" method="post" enctype="multipart/form-data">  
<input type="file" name="bighead" /><br />  
<input type="submit" />  
</form>  
</body>  
[html] 
<body>  
<form method="POST" enctype="multipart/form-data">   
{{userform.as_p}}  
<input type="submit" value="注册">  
</form>  
</body>  

相关内容

    暂无相关文章

评论关闭