Django简介

一、Django 背景



1.1 为什么使用Django



Django是开源的,不是商业项目或者科研项目,它集中力量解决

Web开发中所遇到的一系列问题。因此,Django每天都在现有的

基础上进步,以适应不断更迭的开发需求。这样即节省了开发时间,

也提高了后期维护的效率。

1.2 使用Django开发的网站

  • Instagram
  • 国家地理
  • Pinterest


1.3 实验知识点

  • 使用Django的原因
  • Django简述


二、Django 概览

接下来我们从实例入手,一步一步解析Django建立网站的过程,我们分3个Python文件(models.py, urls.py, views.py) 和HTML模板文件(template.html)来讲解。

2.1 设计模型Model

# myProject/myApp/models.py
form django.db import models
class book(models.Model):
 name = models.CharField(max_length=100)
 pub_date = models.DateField()
 



2.2 设计视图Views

在模型被定义之后,我们便可以在视图中引用模型。通常,视图根据参数检索数据,加载一个模板,并使用检索到的数据呈现模板。

# myProject/myApp/views.py
from django.shortcuts import render
from .models import Person
def book_archive(request, year):
 book_list = Person.objects.filter(birth_year = year)
 context = {'year': year, 'book_list': book_list}
 return render(request, 'books/year_archive.html', context)



views.py 文件包含了页面的业务逻辑。 book_archive()函数叫做视图。 这里还用到了year_archive.html模板。

2.3 设计链接Urls

优雅简洁的URL解析式是衡量高品质网站的重要标准。Django鼓励使用漂亮的URL设计。 使用这些优美的URL,只需要建立URL和Python回调函数简单的映射关系。

# myProject/myApp/urls.py
from django.urls import path
from . import views
urlpatterns = [
 path('books/<int:year>', views.year_archive),
]



urls.py 指出了什么样的 URL 调用什么视图。 在这个例子中 books/xxxxx 将会调用 year_archive() 这个函数。也就是说,在进入这个链接时,会返回视图函数的结果。

2.4 设计模板Templates

Django拥有强大的模板功能,使用该模板能设计出强大的Web页面。

# /template/year_archive.html
{% block title %}Books for {{ year }}{% endblock %}
{{% block content %}}
<h1>Articles for {{years}}</h1>
{% for book in book_list %}
 <p>{{ book.name }}</p>
 <p>Published {{ book.pub_date|date:"F j, Y" }}</P>
{% endfor %}
{% end block %}





三、总结

初步了解Django总体框架,为后期学习打好基础,希望对大家有所帮助。

成长离不开与优秀的同伴共同交流,如果你需要好的学习环境,好的学习资源,这里欢迎每一位热爱Python的小伙伴,Python学习圈