django初学


其实还有个drf 框架

# django把框架分为一个项目 包含很多应用 python manage.py startapp polls 该命令在在manage.py 同级下创建应用目录 polls 是应用的名字 !!!!!!!!!!!!!!!!
# 应用创建完之后需要在setting 里面注册

 


# 编写url 和views 函数的对应关系

 页面的话,

#  映射网页的话,在应用目录下 创一个templates  里面装html  这样是前后端不分离的
# 根据app 注册顺序 逐一去T他们的templates目录中找
# 如果配置不删掉base的话 默认是在根目录下的templates

 

 

 

 

1

 

静态的文件 css 图片 js 什么的  需要在应用下创建一个static文件,跟templates同级

 

在django中 引入静态文件可以这样写  比较好  在上面load 进来   因为这个static是配置在setting文件中的 会指向这个路径 如果要修改直接在配置文件中修改指向路径即可  不用修改每个文件

 

 

 

传参

在views中,用字典传

 循环接受数据  要注意{%    %}  %要贴紧不能有空格

 

 循环接受字典

 

 

字典列表的接受

 

还可以条件判断

 

 

这种模版语法是django提供的  只有django才能读懂

 

 

请求和响应

 

 

 

如果 做一个登录 ,views 指向这个html  提交的表单还是如果指向这个路径 所以views中这个路径可以对request的方法进行判断 

 

 我感觉这样还不如另外一个指向   如果另外建一个指向 url中也要申明吗???????????????

 

此外 django默认加了token机制,,提交请求(一般是表单)一定要有这一行 不然会报错 !!!!!!!!!!!!!!!!

 

 

 

因为django用的是模版渲染,所以render 同一个页面传入参数不同  效果不同,如果html页面中定义了接受这个值,但是render没有传入就不会渲染到,则不会显示

 

 

 

 

数据库用的映射orm  要先pip install mysqlclient  如果失败 Failed building wheel for mysqlclient错误的解决方法_不达目的不快乐的博客-CSDN博客     下载包本地安装就好了

 

 

然后是配置数据库

 

 

 

写model

 

 

python manage.py makemigrations

python manage.py migrate

通过两行命令将model创建成数据表  每次添加表都执行这两句  对表有任何的修改 就修改model 然后执行这两句 我可不可以直接执行数据库呢 不执行命令呢 应该不行 他要一个表结构的映射

 

对 model添加一列的时候 会让你做选择  给添加的一列设置默认值  ,或者直接加默认值就 可以了 还不用命令行操作  也可以默认空

 

 

然后对表的crud  在views 层   这个views层就跟dao层差不多

from polls.models import User   要导入models

 

 

 

如果就要一行 取first  直接拿到一个对象

 

 

 

数据库传输到前台

 

 

 

 添加  的views

 

 重定向和超链接 按钮等 跳转自己页面用url就可以

 

 

 

为了做一些操作需要从url获取参数

 

 

 

 

可以用from 插件  甚至可以不用写前台表单 ,直接传入html页面  还有验证功能

 

 

用modelfrom更简单

直接用model定义的字段 做前台

 

 

不仅可以用model的字段 还可以自己定义

 

 

 

model中定义的verbosename 也可以显示在页面上

 

 

 

 

通过model的字段  然后modelfrom 可以直接构造下拉框

 

 

 

 

这个也是下拉框 不过他是取了全部对象,但是在前端展示时会显示对象列表,所以可以有这一步

 

 

 

 

为了生成有bootstrap的样式   把这些生成的标签加上class属性  值是bootstarp中定义的

 

posted @ 2023-09-24 15:09  不咬牙  阅读(10)  评论(0)    收藏  举报