django中学习常见问题

1.html网页中新出现的东西。

遇到{% load static % }

{% %} 逻辑相关
{{ }} 变量相关

 〈table〉...〈/table〉 - 定义表格
〈th〉 - 定义表头 Defines a table header
 〈tr〉 - 定义表行 Defines a table row
 〈td〉 - 定义表元(表格的具体数据) td stands for "table data," Defines a table cell.
   {% extends "test/base.html" %}

在编程的过程中,我们经常会重复性的写了很多的代码,比如一个页面的框架部分,这样我又多少个页面就得写上多少次,这样既不好维护,也不够高效,所以我们引出了html的模板继承部分。
当有个新的html文件需要继承上面这个html。直接在这个新的html文件的最顶端,写上上面的内容。。

但是我们继承不能全部继承,只继承母版的一部分

{% block index %}
    <div style="height: 45px;line-height: 45px;font-size: 15px;font-weight: bolder">
        <span>首页&nbsp;></span>
        <span>资产管理</span>
    </div>
{% endblock %}

其中{% block index %} 定义了一个块block,然后这个块叫的名字是index

{% load upload_tags %}

其中load 是加载一个py文件,或者是加载一个路径。

打开文件(后面需要通过js限制文件的格式.)

            <span class="btn btn-success fileinput-button">
                <i class="glyphicon glyphicon-plus"></i>
                <span>Add files...</span>
                <input type="file" name="file" multiple>
            </span>
    无序列表

在这里插入图片描述在为models改变内容后,这时候migrate就比较重要了

例如:

class UserModel(models.Model):
    """This is a small demo using just two fields. The slug field is really not
    necessary, but makes the code simpler. ImageField depends on PIL or
    pillow (where Pillow is easily installable in a virtualenv. If you have
    problems installing pillow, use a more generic FileField instead.

    """
    file = models.FileField(upload_to="upload_models")
    slug = models.SlugField(max_length=50, blank=True)

    def __str__(self):
        return self.file.name

然后需要在terminal中运行python manage.py makemigrations
以及python manage.py migrate

一个小技巧,在app下的templates中下再起一个app的名字,这样可以

但是需要在views.py中去指定渲染的html,因此要去寻找渲染的页面…

例如::::
在这里插入图片描述

接着系统会自动去寻找 所有app下的templates下符合 viewer/index.html

上面是显式表达出来的,但有的可能通篇都不会出现这个html的名字,那么我猜可能用 dir变量给代替了,可能他实际仍然是这个模板文件,要不然没有办法解释…

这个问题是因为models的模板机制:
在这里插入图片描述注意下面的代码:
这是url.py

from viewer.views import PictureCreateView

urlpatterns = [
     path('', PictureCreateView.as_view(), ),# 注

下面是views的代码:

在这里插入图片描述可见这个是根据models命名的usermodel来命名的…类似于另一个例子中.
在这里插入图片描述
它起的名字是Picture,因此它要求要在templates下有app的名字,名字下有picture_form的名字,form就是表单的意思…

<form> 标签用于为用户输入创建 HTML 表单。表单用于向服务器传输数据。各种数据

表单能够包含 input 元素,比如文本字段、复选框、单选框、提交按钮等等。

表单还可以包含 menus、textarea、fieldset、legend 和 label 元素。

猜你喜欢

转载自blog.csdn.net/weixin_42755384/article/details/89389112