django render_SAST Weekly | Django简介

a6cb266c3ede0140ca42ab2512bcafaf.png f01550b93381540704dee93e5e8cb086.png 68b480f6ce6b274a019e2be1468c2b7c.png

SAST Weekly 是由电子工程系学生科协推出的科技系列推送,内容涵盖信息领域技术科普、研究前沿热点介绍、科技新闻跟进探索等多个方面,帮助同学们增长姿势,开拓眼界,每周更新,欢迎关注!欢迎愿意分享知识的同学投稿至 eesast@mail.tsinghua.edu.cn , 期待你的作品!

46ba79b600188cdbbe1455db8f43b03b.png 1634e49a4d3c579710958a68982f9574.png

       小时候,放学回家最大的乐趣就在于网页辣鸡游戏,我曾多次尝(huan)试(xiang)写出一个自己的网页,但是却感到很麻烦。

      相较于本地的程序,网络编程是更为繁琐的,而且对初学者十分的不友好。

      在网络编程时,常常会陷入下面这几个步骤:

  1. 从头开始编写网络应用程序。

  2. 从头编写另一个网络应用程序。

  3.  从第一步中总结(找出其中通用的代码),并运用在第二步中。

  4.  重构代码使得能在第 2 个程序中使用第 1 个程序中的通用代码。

  5. 重复 2-4 步骤若干次。

  6. 意识到你发明了一个框架。?

     一个优秀的Web框架,可以提供通用的Web开发模型,为繁琐复杂的编程作业提供快速的解决方案。例如,Web框架可以方便地提供URL映射,整理用户提供的数据结构等等,而Django正是一款强大的网站编程框架。

Django简介

      Django是用python语言编写的开源的Web框架,采用了MTV模式(模型+视图+模板)。由堪萨斯(Kansas)州 Lawrence 城中的一个 网络开发小组编写,得名于爵士乐吉他演奏家Django Reinhardt。

      Django有着一流的URL设计,并可以利用模板系统分离内容和显示。

Django的下载链接:

https://www.djangoproject.com/download/

Django的官方文档:

https://docs.djangoproject.com/

工作原理图

各文件作用

      配置好工作环境后,可以看到如下图所示的工作目录,它们都是做什么用的呢?

7c694d4c6ace5be59e383bdebba3a647.png
  • manage.py:命令行工具,在CMD窗口下,将路径切换到django项目下输入 python manage.py help可以查看工具的具体功能。

  • init.py: 初始化文件。

  • setting.py: 项目配置文件

  • urls.py: 项目的URL设置,网站地址信息

  • wsgi.py: WebServerGatewayInterface

    服务器网关接口,Python应用与Web服务器间的接口

  • templates: 模板文件目录

      点击运行,可以看到如下提示:

19c5bc2ccbfe57dadf632ad928c5dd4f.png

      复制地址到浏览器,就能看见这个项目了!(虽然什么内容也没有)

      项目创建完成后,需要创建项目应用(APP),是网站的功能所在,创建过程由manage.py完成。

       在命令行中输入

       python3 manage.py startapp my_app

       看到如下目录即为创建成功。

f1d4e5c48c56a1a136c1fbc87aa51dfa.png

        下面我们就可以开始工作了!

Hello World!

      上文说过,urls.py展示了项目的url映射,下面我们来具体举个栗子,看看它是如何使用的。

       在urls.py中输入如下代码

        urlpatterns = [

        path('', views.hi, name='index'),   

       path('hello', views.hello, name='index_actor')

        ]

       并在views.py中输入如下代码

def  hi(request):

              return HttpResponse("hi")

       def  hello(request):

              return HttpResponse("Hello world !")

       运行这个项目,并在浏览器中打开。

       在“127.0.0.1:8000/”地址中,

       可以看见网页显示hi。

       在“127.0.0.1:8000/hello”中

       可以看见网页显示Hello world !。

       没错,到这,urls.py的作用就很清楚了,其将空字符映射给视图函数hi, 将hello字符映射给视图函数hello,并返回HttpResponse在网页上显示出文字。

HTML模板

        在上个Hello World 程序中,网页是这个样子。

42b4d908f8d0b43c604d6047db1c425c.png

       是不是很丑陋,又很low,一点也没有网页应该有的样子?有什么办法来让页面漂亮起来呢?

       没错,我们可以使用html+css。

      下面,我们来看看如何在Django项目中使用html。

       我们需要先在template文件夹中添加写好的html文件,并在views.py中添加如下代码。

      #views.py

  def  hi(request):

              return render(request, '你的html名字.html')

      render是Django的模板渲染函数。

      这样,点击运行,我们就能在127.0.0.1上看到你的

 html文件了。(此处建议试一试)        

      但是,这时的html是不能改变的,这显然是非常不足的。

      举个栗子。

      回想一下steam的官网。

37fcd5047c88fb6378de9988d2072368.png

      我们进行一下翻页。

8a9683f40dd92098c19b62097e7a33cb.png

     观察一下,上述两个页面的ui是完全相同的,只是上面的游戏换了,难道我们要根据每个页面都写一份html代码吗,当然不用,Django为我们提供了html模板。

     在html中,可以用两层大括号表示变量。

     并利用上面提到的render函数对变量进行复制,这样我们就可以用一套html,css样式展现不同页面了。

      举个栗子:

      我们可以在html文件中写:

      并在views.py中相应地写

def  hi(request):

              return render(request, '你的html名字.html' ,

            context={'image': 你的图片链接})

       就可以展示任何图片了!

       除此之外html中还能写一些简单的python代码。

       例如:

 {% for movie in movie_list %}         float:left ;margin-left: 3%;
color: red;"> {{ movie.name }}
        {% endfor %}

       {%%}中的就是代码,上述代码对movie_list中元素进行了遍历操作。

小结

       以上就是Django的基本操作和工作原理了,除此之外Django还有很多强大的功能,至此,希望大家已经对其已经有了初步了解,又及,祝大家期中顺利!

a2df30ff32d96c27a2edf30185631c34.png

撰稿:李晨阳

审核:贺鲲鹏

b960aee08578d8b6302d29837df3250c.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值