Django搭建网站笔记

1、使用render的时候,Django 会自动找到 INSTALLED_APPS 中列出的各个 app 下的 templates 中的文件。

小提示,DEBUG=True 的时候,Django 还可以自动找到 各 app 下 static 文件夹中的静态文件(js,css,图片等资源),方便开发

2、path和url针对不同的版本,url针对1.8版本,需要写正则表达式
django path()参数:route是一个匹配 URL 的准则(类似正则表达式)。当Django响应一个请求时,它会从urlpatterns``的第一项开始,按顺序依次匹配列表中的项,直到找到匹配的项。
view参数:当 Django 找到了一个匹配的准则,就会调用这个特定的视图函数,并传入一个:class:~django.http.HttpRequest对象作为第一个参数,被“捕获”的参数以关键字参数的形式传入。
name参数:为你的 URL 取名能使你在 Django 的任意地方唯一地引用它,尤其是在模板中。这个有用的特性允许你只改一个文件就能全局地修改某个 URL 模式。

3、可不写应用下的url文件,直接在项目主url下引入应用,配置url

url路由基础
1、在settings.py文件中有一个ROOT_URLCONF设置,设置的是在访问网址时通过哪一个url文件去匹配所请求的网址
2、path参数的使用方法path(‘blog/str:string/’) 简单了很多,就是尖括号,前边是str代表参数的类型,后面代表参数的名称

4、页面跳转流程:
首先,django在运行程序时,最开始(这里只提及初学者操作的文件,没有修改的部分将暂时忽略,毕竟真实的流程可不是这么简单的,感兴趣可以去喵喵看)当你输入正确的网络地址的时候,django会进入路由模块(urls)中去寻找是否有符合其要求的路径,auth后面跟的就是路由路径了。我们在页面地址栏中输入“localhost:8000/index/”,django会自动的寻找路由表中符合要求的后缀为“index/”的路径。
找到后,如果有index/,将会去执行这个路由后面所指向的函数。而这个函数就是view中的函数,执行函数相应的响应过程以后,必定会return返回并跳转相应页面及携带数据。(django强制要求必须return返回,强制返回主要原因是每一次网页操作,都会相应的跳转页面或交互)
看到return语句后面是不是跟着“index.html”,这就是让程序自动自行index的页面。那么来到templates文件夹中打开这个页面。(哪有templates文件夹呀,吼吼,请在创建的应用中,注意不是项目中,创建一个文件夹,动手创建一个)
恭喜你,打开index.html页面。
经过上面的步骤,可以看出,我们程序的执行流程是:路由,视图调度(V层),前端页面(HTML)。
所以我们在开发中,为了让大脑清晰,方便执行,我们从最容易观察到的前端页面视图层开始开发,这样不断能够及时的看到很好的反馈,若看不到页面,我们还能及时的找到问题出在什么地方,能够及时的做出调整。

5、表单用于搜集不同类型的用户输入,表单由不同类型的标签组成,实现一个特定功能的表单区域(比如:注册),首先应该用标签来定义表单区域整体,在此标签中再使用不同的表单控件来实现不同类型的信息输入。form定义一个表单区域,action属性定义表单数据提交的地址,method属性定义提交的方式。

6、html各元素整体介绍:https://www.cnblogs.com/tangkaishou/p/9515832.html
链接、表格、表单、框架、列表

7、CSS:做界面样式:分页、背景、布局、导航栏、表单

8、表格横向、纵向滚动条

9、 标签 href 属性:指定超链接目标的 URL,可能的值:

绝对 URL - 指向另一个站点(比如 href="http://www.example.com/index.htm")
相对 URL - 指向站点内的某个文件(href="index.htm")
锚 URL - 指向页面中的锚(href="#top")

10、Django通过ORM模型操作数据库返回的数据结果类型为QuerySet
11、filter函数用法

class Person(models.Model):
    name = models.CharField(max_length=30)
    age = models.IntegerField()

get是用来获取一个对象的,如果需要获取满足条件的一些人,就要用到filter

Person.objects.filter(name="abc")  # 等于Person.objects.filter(name__exact="abc") 名称严格等于 "abc" 的人
Person.objects.filter(name__iexact="abc")  # 名称为 abc 但是不区分大小写,可以找到 ABC, Abc, aBC,这些都符合条件
Person.objects.filter(name__contains="abc")  # 名称中包含 "abc"的人
Person.objects.filter(name__icontains="abc")  #名称中包含 "abc",且abc不区分大小写
Person.objects.filter(name__regex="^abc")  # 正则表达式查询
Person.objects.filter(name__iregex="^abc")  # 正则表达式不区分大小写

12、表单action参数:设置请求的网址

13、前端发起相应后,django会在urlpatterns中将url一一匹配,匹配到了合适的就进入相应的views函数中

14、ORM增删改查:https://www.cnblogs.com/yaboya/p/8919033.html

15、form表单触发提交数据的动作两种方式:

 <input type="submit">
    <button></button> 

form提交数据的地址如何指定及方式:

'''
action属性控制提交的地址
	方式:
		1.全路径
			<form action="http://127.0.0.1:8000/login/">
		2.只写路径后缀
			<form action="/login/">
		3.不写 (默认往当前路径提交)
	form表单默认是get请求
'''

16、运行网站

python manage.py runserver
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值