python学习

 

今天继续试着推进Django进程

自从上次遇到解决不了了问题后,对网页制作兴趣消减,不过前阵子读python文档时看到Django是个很好的库,又想把剩下的内容拾起来看看(顺便等待opencv漫长的编译时间)
果然,在配置数据库的时候又卡住了,我猜想是不是版本要统一?

总之,Django项目可能到此为止,下面仅为肉眼学习的部分:sweat_smile::sweat_smile::sweat_smile:

URL

url(r’^admin/’, include(admin.site.urls)),
这表示对于每一个以 admin 开头的 URL,Django 都会找到一个相对应的 view。

正则表达式

(Django 是如何将 URL 匹配到 view )
例如:http://www.mysite.com/post/12345/
对应^post/(\d+)/$。 让我们一步一步将它分解,看看里面做了什么:

^post/ 告诉 Django 在 URL 的开头匹配 post/ 后于 ^
\d+ 表示 URL 中会有一个数(一位或者多位数字),并且我们想提取出这个数
/ 告诉 Django 后面紧跟着一个 / 字符
$ 表示 URL 的末尾,即以 /<1> 结尾的 URL 才会被匹配到

视图

view是存放应用逻辑的地方。它将从之前创建的模型中获取数据,并将它传递给 模板。
def post_list(request):
return render(request, ‘blog/post_list.html’, {})
如你所见, 我们创建一个方法 (def) ,命名为 post_list ,它接受 request 参数作为输入, 并 return (返回)用 render 方法渲染模板 blog/post_list.html 而得到的结果.

模板

模板是一个文件,它可以让我们使用一致的格式来展示不同的信息— —例如,您可以使用模板来帮助你写一封信,虽然每封信可以包含不同的消息和发送给不同的人,但他们使用相同的格式。

Django模板的格式是由HTML语言来描述的。

HTML

HTML代表“HyperText Markup Language(超文本标记语言)”。 超文本 是指它是一种支持网页之间的超链接的文本。标记是指我们将一份文件用代码标记组织起来,然后告诉某个东西(在这种情况下,浏览器中) 如何解释网页。 HTML 代码是由 标记构成的,每一个都是由 < 开始,由结束 >. 这些标签表示标记 元素.

‘<html>’始终是任何网页的开始, </html> 始终是最后。

一种用于段落元素标记 ;

关闭每个段落

每个 HTML 页面也分为两个元素: head 和 body.

head 是一个包含有关文档且未显示在屏幕上的信息元素。(如title)

body 是包含 web 页中所有显示的元素。

Django shell

$ python manage.py shell

QuerySet

QuerySet 允许您从数据库中读取数据,对其进行筛选以及排序。

模板中的动态数据

这就是 views 应该做的: 连接模型和模板。 在我们的 post_list 视图 中我们需要获取我们想要显示的模型,并将它们传递到模板中去。
所以基本上在视图中,我们决定什么(模型)将显示在模板中。

模板标签

允许我们将Python之类的内容翻译成HTML

CSS

层叠样式表(Cascading Style Sheets)是一种语言,用来描述使用标记语言(如HTML)写成的网站的外观和格式。把它当做我们网站的化妆 ;)。

在 CSS 文件中,我们决定HTML 文件中元素的样式。我们标识元素的第一种方式是用元素名。你可能把来自于HTML段落的这些元素名当做了标签记忆。 例如a,h1,body,这些都是元素名。我们也用属性去标识元素,如 class 或属性 id 。 类和 id 是你自己给该元素的命名。 类定义元素组,并指向特定元素的 id。 例如,可以使用标记名称 a、 类 external_link 或 id link_to_wiki_page 标识以下标签:

模板扩展

你可以使用你的HTML相同代码为你网站不同的网页共享(复用):
5}TCK_HM(T318OC2ORJ0QRY

————————————————————————

总结

学完Django(虽然没有完全实现),但是对Django框架大概理解,下面是自己的一些浅显认识。
view视图中定义各种函数,函数中调用输入的模型参数,返回特定的模板。
模板即HTML文件,是网页的主要可视构建
模型可以类比为类与对象,是对象的属性与操作的集合
urls可看为网页的总设计,并且可以被包含在模板中形成链接

写两句?