django之创建第10-1个项目-图片上传并记录上传时间

1、百度云盘:django之创建第10-1个项目-图片上传并记录上传时间

2、主要修改的配置文件有3个,forms、views和models3个文件以及html

3、forms.py文件修改

#coding:utf-8
#这里定义html页面中用到的表单,常和views和models文件配合使用
"""
>>> help(django)
Help on package django:
PACKAGE CONTENTS
    conf (package)
    contrib (package)
    core (package)
    db (package)
    dispatch (package)
    forms (package)
    http (package)
    middleware (package)
    shortcuts (package)
    template (package)
    templatetags (package)
    test (package)
    utils (package)
    views (package)

FUNCTIONS
    get_version(*args, **kwargs)

DATA
    VERSION = (1, 5, 12, ‘final‘, 0)
"""
#从django导入forms类
from django import forms

class UserForm(forms.Form):
    #intime = forms.DateField()#注释掉intime变量,因为html中不需要操作该项,该项为自动输入
    username = forms.CharField()
    headImg = forms.FileField()

4、models文件

#coding:utf-8
from django.db import models

class User(models.Model):
    intime = models.DateTimeField()
    username = models.CharField(max_length = 30)
    headImg = models.FileField(upload_to = ‘./photos/‘)

    #图片上传之后存放在./photos/目录下,站点根目录下的photos目录中
    #./代表站点根目录,../代表当前目录的上一级目录
    class Meta:
        db_table = ‘User‘

    def __unicode__(self):
        return self.username

    #username 用户存放用户名,headImg 用户存放上传文件的路径

5、views文件

# Create your views here.
#coding:utf-8
from django.http import HttpResponse
import datetime
#导入templates文件所需导入库
from django.template import loader,Context
#引入Student等模块

from blog.models import *
from blog.forms import UserForm
from django.shortcuts import render,render_to_response

def upload(request):
    if request.method == "POST":
        uf = UserForm(request.POST,request.FILES)
        if uf.is_valid():
            #获取表单信息
            username = uf.cleaned_data[‘username‘]
            headImg = uf.cleaned_data[‘headImg‘]
            #intime = uf.cleaned_data[‘intime‘] #不从表单获取数据,所以注释掉
            #写入数据库
            user = User()
            user.username = username
            user.headImg = headImg
            #自动获取日期时间
            now=datetime.datetime.now()
            myNow=now.strftime(‘%Y-%m-%d %H:%M:%S‘)#时间,精确到秒
            #myNow = now.strftime(‘%Y-%m-%d‘)#日期,精确到天
            #将当前时间写入intime变量中
            user.intime = myNow
            user.save()
            return HttpResponse(‘upload ok!‘)
    else:
        uf = UserForm()
    return render_to_response(‘upload.html‘,{‘uf‘:uf})

5、urls文件配置

6、配置setting文件

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don‘t forget to use absolute paths, not relative paths.
    ‘/helloworld/blog/templates‘
)

#MEDIA_ROOT是用户上传的文件存储的位置,是文件系统上的路径,
#FileField, ImageField里面的upload_to的相对路径就是相对于MEDIA_ROOT的。
MEDIA_ROOT = ‘C:/djangoweb/helloworld/upload‘

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://example.com/media/", "http://media.example.com/"
MEDIA_URL = ‘/upload/‘

7、修改upload.HTML

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>图片上传功能</title>
</head>
<body>
<h1>图片上传功能</h1>
<form method="post" enctype="multipart/form-data" >
{{uf.as_p}}
<input type="submit" value="ok"/>
</form>

</body>
</html>
时间: 2024-10-10 22:36:29

django之创建第10-1个项目-图片上传并记录上传时间的相关文章

django之创建第8个项目-数据库配置及同步研究

1.sqlitestudio-2.1.5数据库可视化工具--百度云盘下载 2.编写C:\djangoweb\helloworld\blog\models.py文件 # Create your models here. #coding:utf-8 from django.db import models class Student(models.Model): name=models.CharField(max_length=50) age=models.IntegerField() 3.配置C:

django之创建第4-1个项目-访问dict数据

1.修改index.html文件 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>django之创建第四个项目</title> </head> <body> <h1>hello,{{test.name}}</h1> <!--模板 变量用变量定义--&g

django之创建第4-2个项目-访问class类属性和类方法

1.修改index <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>django之创建第4-2个项目</title> </head> <body> <h1>hello,{{test.name}}</h1> <!--模板 变量用变量定义--> &l

django之创建第4个项目编写第一个动态模板文件

修改的地方: 1.index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>django之创建第四个项目</title> </head> <body> <h1>hello,{{name}}</h1> <!--模板变量用变量名定义,如:nam

django之创建第4-3个项目-访问list数据

1.index <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>django之创建第4-2个项目</title> </head> <body> <h2>访问list数据,用索引获取list内的数:{{test.0}}</h2> <!--模板 变量用变量

django之创建第6个项目-过滤器

1.views.PY # Create your views here. #coding:utf-8 from django.http import HttpResponse import datetime #导入templates文件所需导入库 from django.template import loader,Context class Person(): def __init__(self,name,age,sex): self.name=name self.age=age self.s

django之创建第3个项目:编写第一个模板文件

1.django结构 2.在站点blog下创建templates文件夹,专门用于存放模板文件 3.在templates文件夹下创建index.html文件 #index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>第一个模板文件</title> </head> <body&

django之创建第6-1个项目-自定义过滤器

1.在站点blog目录下创建templatetags文件夹 2.templatetags目录下需要作为一个包来处理和调用其中的内容,需要有一个__init__.py文件 3.在templatetags目录下创建percent.py文件(里面定义过滤器) 4.编写percent.py文件,定义过滤器 # -*- coding: UTF-8 -*- #自定义过滤器,注意这里编码一定不要掉了,不然会报错啊~~~~ from django import template register = templ

django之创建第7个项目-url配置

1.配置urls.py from django.conf.urls import patterns, include, url #Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', # Uncomment the admin/doc line below to enable admin d