django基础-templates配置

xiaoxiao2021-02-28  50

一、views中不直接调用app的方法,而是include app内的一个方法文件,而url目录是根目录下的总目录。

(调用了其他文件的方法,把方法转移到了app内,并添加了app方法内的路径,不添加用url(r'^$',views.index)限制url为空)

使用include,在根urls.py引入include,在app目录下创建urls.py,格式与根相同,根urls.py中第二个参数改为include('blog.urls')

view中 1和响应对应一个函数,request就是传递过来的url

url.py中的第一个参数需要传递的url(通过正则表达式),传递符合正则表达式才有返回

第二个参数就是方法(在view.py中定义)也可以include其他的函数。,符合regix,调用view中的函数进行处理

二、templates

Templates 就是html文件,用Django模板语言,也可以用其他模板(如jinja2)

主要点在于render函数(渲染的意思,返回template文件夹下某个文件内容)

return HttpResponse('hello,world')直接返回hello,world,把结果返回给浏览器。

return render(request,'index.html')返回template文件夹下的index.html

DTL使用方法,第三个参数可以用dict{},键值对,键是参数,值是要传的值,模板文件中用{{key}}}

return render(request,'index.html',{'hello':'hello,world'}),返回template文件夹下的index.html文件内

注意点!!:不同app内templates下同名html文件会冲突!那么服务器在查找templates时,会取第一个app内的index.html。

为了返回对应的app内index.html,可以再templates内再创建一个与app名相同的目录,把index文件放进去。

三、models(数据表,ORM)

1个model对应数据库中的一张数据表

Django中models以类的形式出现

包含了一些基本字段以及数据的一些行为

(ORM)对象关系映射,实现了对象和数据库之间的映射关系,隐藏了数据访问的细节,不需要编写sql语句

和数据库交互的语句封装起来,转化为对类和对象的操作

四、创建字段

1、在app目录创建models.py,并引入models模块

2.创建类,继承models.Modle,该类即是一张数据表

3、在类中创建字段

字段创建(字段即是类的属性)

可选字段和属性从官方文档可查。常用的就几个

class Article(models.Model):    title = models.CharField(max_length=32, default='Title')    content = models.TextField(null=True)

五、模型映射到数据表

步骤

1、进入manage.py同级目录python manage.py makemigrations app名,生成迁移文件(可选,默认为所有app)

2、执行python manage.py  migrate就可以生成数据表了

3、查看生成的sql语句

Django会自动再app内的migrations下生成移植文件

执行python manage.py sqlmigrate 应用名 文件id可以查看sql语句

4、查看数据库:SQLite Exprot personal轻量级数据库

5、页面呈现数据

view.py中import models ;  article = models.Article.objects.get(pk=1) primary key,相当于执行了select from id=1

return render(request,'index.html',{'article':article})把article对象当做键值多的值传递

前端步骤:模板可直接使用对象,及对象的点操作符{{article.title}}

六、总结

models就是一个库,一个类对应1个表单,类的属性对应数据表的field

把对对象的操作转化为数据库操作(通过manage.py实现,把对象与表单建立映射关系  ORM)

最终再view.py中可以操作该对象,(render函数,对象可以作为键值对的值)html文件中给出key就可以

项目文件有settings(一些基础配置,如添加app,添加可访问host),urls.py接受url传给app中的url.py

app文件:urls.py  models.py   views.py对应MVC或者说MVT。urls.py是接受url,调用响应的处理函数。views.py是具体的函数逻辑,接受url后,方法从model.py中取数据表(就是构造1个类的对象,ORM),然后传给templates的html(动态文件)。最后展示到前端。

转载请注明原文地址: https://www.6miu.com/read-2619075.html

最新回复(0)