美文网首页
三阶段day07-表单Form

三阶段day07-表单Form

作者: ATM_shark | 来源:发表于2018-12-07 19:53 被阅读0次

    1、路由正确,但是死活进不了html页面。有可能是端口问题,端口被其他进程占用了。
    2、html页面继承命令 {% extends ‘父页面’%},注意引号,注意父页面是全称,需加上后缀。
    3、forms模块的用法——》用于验证POST方法下表单数据的标准
    4、对request和response的理解

    5、跳转article页面:HttpResponseRedirect('/app/article/') 或者 HttpResponseRedirect(reverse('app:atc_list'))
    6、重新加载article页面:render(request,'article.html')
    7、返回字符串"/app/article/":HttpResponse('/app/article/')

    day7: 表单验证、分页、图片上传

    表单验证

    定义表单
        class RegisterForm(forms.Form):
            username = forms.Charfiled(max_length=8,
                                        min_length=4,
                                        required=True,
                                        error_messages={
                                            'required': '账号必填',
                                            'max_length': '账号不能超过8位',
                                            'min_length': '账号不能少于4位'
                                        }
                                        )
    
    使用表单
        form = RegisterForm(request.POST, request.FILES)
        form.is_valid(): 验证是否成功或者失败
        form.errors: 获取验证失败的错误信息
    

    分页

    使用切片进行分页
    使用Paginator进行分页
            p = Paginator(需要分页的总数据,一页的条数)
            page = p.page(获取那一页的页码)
    
            当前页: page.number
            当前有多少页: page.p.num_pages
            一共多少条数据: page.p.count
            页码: page.p.page_range
            上一页: page.has_previous
            下一页: page.has_next
            上一页页码: page.previous_page_number
            下一页页码: page.next_page_number
    

    图片上传与展示

    ## 表单标签form必须有enctype="multipart/form-data"属性
    ## 视图函数中获取图片: request.FILES
    ## 模型中定义保存图片的字段: models.ImageFiled(upload_to=‘art’)
    ## 在settings.py文件中定义media文件路径: 
    
    MEDIA_ROOT, MEDIR_URL
            MEDIA_URL= '/media/'
            MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
    
    ## 页面解析图片: <img src="/media/{{ icon }}">
        媒体文件存放在media文件夹中,数据库中icon存放的是相对路由
    ## 需要在工程目录的urls.py文件中配置解析media的路由
    
            from django.contrib.staticfiles.urls import static
            urlpatterns += static(MEDIA_URL, document_root=MEDIA_ROOT)
    

    相关文章

      网友评论

          本文标题:三阶段day07-表单Form

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