美文网首页Python学习日志python进阶Java-Python-Django社区
【day 12】python编程:从入门到实践学习笔记-基于Dj

【day 12】python编程:从入门到实践学习笔记-基于Dj

作者: 苍云横渡 | 来源:发表于2018-03-24 21:10 被阅读111次

    学习笔记目录
    【day 1】python编程:从入门到实践学习笔记-安装、变量和简单数据类型
    【day 2】python编程:从入门到实践学习笔记-列表以及其操作
    【day 3】python编程:从入门到实践学习笔记-if 语句(末附练习答案代码)
    【day 4】python编程:从入门到实践学习笔记-字典(末附练习答案代码)
    【day 5】python编程:从入门到实践学习笔记-用户输入和while循环(末附答案代码)
    【day 6】python编程:从入门到实践学习笔记-函数(末附练习答案代码)
    【day 7】python编程:从入门到实践学习笔记-类(末附练习答案代码)
    【day 8】python编程:从入门到实践学习笔记-文件和异常(末附练习答案代码)
    【day 9】python编程:从入门到实践学习笔记-测试代码(末附练习答案代码)
    【day 10】python编程:从入门到实践学习笔记-Django入门(一)
    【day 11】python编程:从入门到实践学习笔记-Django入门(二)
    【day 12】python编程:从入门到实践学习笔记-Django入门(三)
    【day 13】python编程:从入门到实践学习笔记-Django入门(四)
    【day 14】python编程:从入门到实践学习笔记-用户账户(一)
    【day 15】python编程:从入门到实践学习笔记-用户账户(二)
    【day 16】python编程:从入门到实践学习笔记-用户账户(三)
    【day 17】python编程:从入门到实践学习笔记-设计样式和部署(一)
    【day 18】python编程:从入门到实践学习笔记-设计样式和部署(二)& 补充

    第十八章 Django入门(三)

    创建网页:学习笔记主页

    使用django创建网页通常分三个阶段:定义URL、编写视图和编写模板
    首先必须定义URL模式,其描述了URL是如何设计的,让django知道如何将浏览器请求与网站URL匹配,以确定返回哪个网页。每个URL都被映射到特定的视图——视图函数获取并处理网页所需的数据。视图函数通常调用一个模板,后者生成浏览器能够理解的网页。

    映射URL

    #learning_log/urls.py
    from django.conf.urls import url
    from django.contrib import admin
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'', include('learning_logs.urls', namespace='learning_logs')),
    ]
    

    我们添加了一行代码来包含模块learning_logs.urls。实参namespace能够将learning_logs的URL同项目中的其他URL区分开来。
    默认的urls.py保存在learning_log文件夹中,我们需要在learning_logs中创建另外一个urls.py如下

    #learning_logs/urls.py
    from django.conf.urls import url
    from . import views
    
    urlpatterns = [
        url(r'^$', views.index, name='index'),
    ]
    

    此模块中,urlpatterns变量是一个列表,包含可在应用程序learning_logs中请求的网页。
    URL模式是一个对函数url()的调用,其包含三个实参:

    • 第一个是正则表达式r'^$'中的r让python把单引号对里面的字符串视为原始字符串;脱字符^表示查看字符串的开头;美元符号$表示查看字符串的末尾;整个字符表达式表示查找开头和末尾之间没有任何东西的url。
    • 第二个是指定要调用的视图函数。如果请求的URL与前述正则表达式匹配,django将调用views.index。
    • 第三个是将这个URL模式的名称指定为index,让我们能够在代码的其他地方引用他。当需要提供到这个主页的链接时,我们都将使用这个名称而不编写URL。

    编写视图
    视图函数接受请求中的信息,准备生成网页所需的数据,并将这些数据发送给浏览器。
    修改并添加:

    #learning_logs/views.py
    from django.shortcuts import render
    
    def index(request):
        return render(request, 'learning_logs/index.html')
    

    函数render()根据视图提供的数据渲染相应。
    当URL请求与我们定义的模式匹配时,django将在文件views.py中查找函数index(),再将请求对象传递给这个视图函数。
    而这里的函数render()提供了两个实参:原始请求对象以及一个可用于创建网页的模板。

    编写模板
    模板定义了网页的结构。模板指定了网页是啥样的。而每当网页被请求时,django将填入相关的数据。
    在文件夹learning_logs中创建文件夹templates,又在这个文件夹中创建文件夹learning_logs。接着在最里面的文件夹learning_logs中新建一个index.html。

    <!-- index.html -->
    <p>Learning Log</p>
    <p>Learning Log helps you keep track of your learning, for any topic you're
    learning about.</p>
    

    最后在虚拟环境中runserver,并打开http://127.0.0.1:8000/可以看到

    相关文章

      网友评论

        本文标题:【day 12】python编程:从入门到实践学习笔记-基于Dj

        本文链接:https://www.haomeiwen.com/subject/sqcccftx.html