美文网首页
上传下载图片,django-filter

上传下载图片,django-filter

作者: 快去学习不然怎么去看aimer | 来源:发表于2019-09-26 21:07 被阅读0次

    上传下载图片

    上传图片

    在models中:
    avatar = models.ImageField(verbose_name="头像", upload_to='users/%Y/%m/%d/', 
        max_length=128, null = True, blank = True)
    
    在settings.py中
    MEDIA_ROOT = os.path.join(BASE_DIR,"media") 
    
    MEDIA_URL = '/media/'
    
    在html中
    <form action="{% url 'users:usersreg' %}" method="POST" enctype="multipart/form-data" >
    <div class="form-group">
                                <label for="id_avatar">头像</label>
                                <input type="file" class="form-control" name="avatar" id="id_avatar">
                                {% if form.errors.avatar %}
                                <div class="alert alert-danger" role="alert">{{ form.errors.avatar.0 }}</div>
                                {%  endif  %}
                            </div>
    </from>
    

    下载图片

    在settings.py:
    TEMPLATES = [{
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.media',
             ],
          },
      },
    ]
    
    
    在项目根目录urls.py:
    from qfgp01site.settings import MEDIA_ROOT
    from django.views.static import serve
    
    urlpatterns = [
        re_path(r'^media/(?P<path>.*)$', serve, {"document_root": MEDIA_ROOT}),
    ]
    
    在html中
    <img src="{{ MEDIA_URL }}{{ request.user.avatar }}" alt="头像" class="img-circle naver">
    

    django-filter

    进行信息过滤

    流程:
    html的ajax请求-->views-->cmdb_django_filter(filter的过滤选项)-->views.reutrn-->html

    pip3 install django-filter
    pip3 install django-widget-tweaks
    
    
    在settings中注册应用:
    'django_filters',
    'widget_tweaks',
    
    在views:
    def server_list(request):
        f = ServerFilter(request.GET, queryset=Server.objects.all())
        return render(request, 'cmdb/server-list.html', {"filter": f}) 
    
    在cmdb_django_filter:
    class ServerFilter(django_filters.FilterSet):
        class Meta:
            model = Server
            fields = {
                'host_name': ['exact', ],
                'physical_count': ['lt', 'gt'],
                'kernel': ['exact']
            }
    
    html中:
    {% load widget_tweaks %}
    
    <div class="col-md-11">
                    {{ filter.form.host_name.label_tag }}
                    {{ filter.form.host_name|add_class:"form-control" }}    
                    {{ filter.form.physical_count__lt.label_tag }}
                    {{ filter.form.physical_count__lt|add_class:"form-control" }}
                    {{ filter.form.physical_count__gt.label_tag }}
                    {{ filter.form.physical_count__gt|add_class:"form-control" }}
    </div>
    

    相关文章

      网友评论

          本文标题:上传下载图片,django-filter

          本文链接:https://www.haomeiwen.com/subject/wjsguctx.html