python djiango框架中定制表格(前端显示含下载按钮)

来源:互联网 发布:java调用golang 编辑:程序博客网 时间:2024/06/06 05:30

setting.py

# 添加APPINSTALLED_APPS = (    'django.contrib.admin',    'django.contrib.auth',    'django.contrib.contenttypes',    'django.contrib.sessions',    'django.contrib.messages',    'django.contrib.staticfiles',    'analy_user')# 添加url连接ROOT_URLCONF = 'analy_user.urls'# 默认数据库地址DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql',        'NAME': 'test',        'USER':'root',        'PASSWORD':'123456',        'HOST':'192.168.10.70',        'PORT':'',    }}# 添加路径STATIC_URL = '/static/'HERE = os.path.dirname(os.path.abspath(__file__))STATIC_ROOT = os.path.join(HERE, 'static').replace('\\', '/')print STATIC_ROOTSTATICFILES_DIRS = (    ("css", os.path.join(STATIC_ROOT,'css')),    ("js", os.path.join(STATIC_ROOT,'js')),    ("images", os.path.join(STATIC_ROOT,'images')),    ("fonts", os.path.join(STATIC_ROOT, 'fonts')),)

models.py
定义packages、packages_admin库,test数据库中会新增analy_user_packages数据表,运行后直接在网页上输入http://127.0.0.1:8000/admin 能显示packages各字段信息,方便添加或删除数据;

#coding=utf8from django.db import modelsfrom django.contrib import adminclass packages(models.Model):    name = models.CharField(max_length=200)    description = models.CharField(max_length=200,blank=True)    type = models.ForeignKey( package_type )    url = models.FileField( upload_to='./analy_user/static/package')    packageTime = models.DateTimeField(  )    uploadTime = models.DateTimeField( auto_now_add=True )    bit = models.IntegerField(default=32)    version = models.CharField(max_length=200)class packages_admin(admin.ModelAdmin):    list_display = ('name','type','description','url','bit','version')admin.site.register(packages, packages_admin )

这里写图片描述
view.py

def packet(request):       items = packages.objects.all()    for item in items:        pass    return render_to_response('packet.html', {'items':items} )def home(request):    pass    return render_to_response('index.html', locals())

urls.py
网页上输入http://127.0.0.1:8000/packet_download/,能调用view.py中packet函数,打开packet.html以表格形式呈现。
这里写图片描述

urlpatterns =  patterns('',    url(r'^admin/', include(admin.site.urls)),    url(r'^$', view.home),    url(r'^packet_download/', view.packet),                        )

packet.html

<table class="table stats-table ">    <thead>        <tr>            <th>Id</th>            <th>Product</th>            <th>Description</th>            <th>Bit</th>            <th>Version</th>            <th>Status</th>            <th>Download</th>        </tr>    </thead>    <tbody>        {% for item in pkg_items %}        <tr>            <th scope="row">{{ item.id }}</th>            <td>{{ item.name }}</td>            <td>{{ item.description }}</td>            <td>{{ item.bit }}</td>            <td>{{ item.version }}</td>            <td>{{ item.type.name }}</td>            <td><a class='download' href='{{item.url}}'><span class="label label-success">下载</span></a></td>        </tr>        {%endfor%}    </tbody></table>