电玩城老虎机安卓版 当前位置:首页>电玩城老虎机安卓版>正文

电玩城老虎机安卓版

发布时间:2019-03-24

原标题:Python 项目实践三(Web应用程序) 第三篇

这次董小姗没有亲自出来迎接,谢娴开始怀疑是不是连她都要躲她了?

wellbet手机版_m.wellbet218.com_wellbet亚洲第一体育

“如果运转真气的话还能提升很多倍,不错。”刘皓还十分满意,现在才第三重初阶,完成了第一次生命重组而已,只要踏入中阶的话马上又翻了许多,再完成中阶的生命重组就更可怕。
强化:商业头脑强化,力量强化,身体恢复能力强化,速度强化,样貌强化,身高强化

“好勒。”一听蒋妤提起单曲,钱嘉妮一个鲤鱼打挺坐起身,一手高举,一手作话筒状,举在嘴巴前,得瑟地椅着身子唱道:“笑⊥歌颂,一皱眉头”

接着上节的继续学习,现在要显示所有主题的页面

有了高效的网页创建方法,就能专注于另外两个网页了:显示全部主题的网页以及显示特定主题中条目的网页。所有主题页面显示用户创建的所有主题,它是第一个需要使用数据的网页。

一 显示所有主题的页面

1 URL模式

#定义learning_logs的URL模式

from django.conf.urls import url

from . import views

app_name="learning_logs"
urlpatterns=[
    #主页
    url(r"^$",views.index,name="index"),
    #显示所有主题,
    url(r"^topics/$",views.topics,name="topics")
    ]

2 视图

函数topics()需要从数据库中获取一些数据,并将其发送给模板。我们需要在views.py中添加的代码如下:

from django.shortcuts import render
from .models import Topic

# Create your views here.
def index(request):
    """学习笔记的主页"""
    return render(request,"learning_logs/index.html")

def topics(request):
    topics = Topic.objects.order_by("date_added")
    context = {"topics": topics}
    return render(request, "learning_logs/topics.html", context)

3 模板

显示所有主题的页面的模板接受字典context,以便能够使用topics()提供的数据。请创建一个文件,将其命名为topics.html,并存储到index.html所在的目录中。下面演示了如何在这个模板中显示主题:

{% extends "learning_logs/base.html" %}
{% block content %}
<p>Topics</p>
<ul>
  {% for topic in topics %}
    <li>{{ topic }}</li>
  {% empty %}
    <li>No topics have been added yet.</li>
 {% endfor %}
</ul>
{% endblock content %}

打开这个link:http://127.0.0.1:8000/topics/

二 显示特定主题的页面

接下来,我们需要创建一个专注于特定主题的页面——显示该主题的名称及该主题的所有条目。同样,我们将定义一个新的URL模式,编写一个视图并创建一个模板。我们还将修改显示所有主题的网页,让每个项目列表项都是一个链接,单击它将显示相应主题的所有条目。

1 URL模式

显示特定主题的页面的URL模式与前面的所有URL模式都稍有不同,因为它将使用主题的id属性来指出请求的是哪个主题。例如,如果用户要查看主题Chess(其id为1)的详细页面,URL将为http://localhost:8000/topics/1/。下面是与这个URL匹配的模式,它包含在learning_logs/urls.py中:

#定义learning_logs的URL模式

from django.conf.urls import url

from . import views

app_name="learning_logs"
urlpatterns=[
    #主页
    url(r"^$",views.index,name="index"),
    #显示所有主题,
    url(r"^topics/$",views.topics,name="topics"),
    #特定主题的详细页面
    url(r"^topics/(?P<topic_id>d+)",views.topics,name="topic")
    ]

发现URL与这个模式匹配时,Django将调用视图函数topic(),并将存储在topic_id中的值作为实参传递给它。在这个函数中,我们将使用topic_id的值来获取相应的主题。

2 视图

函数topic()需要从数据库中获取指定的主题以及与之相关联的所有条目,如下所示:

def topic(request,topic_id):
	"""显示单个主题以及所有的条目"""
	topic=Topic.objects.get(id=topic_id)
	entries=topic.entry_set.order_by("-date_added")
	context = {"topic":topic,"entries":entries}
	return render(request, "learning_logs/topic.html", context)

3 模板

这个模板需要显示主题的名称和条目的内容;如果当前主题不包含任何条目,我们还需向用户指出这一点:

{% extends "learning_logs/base.html" %}
{% block content %}

<p>Topic: {{ topic }}</p>
<p>Entries:</p>
<ul>
{% for entry in entries %}
  <li>
    <p>{{ entry.date_added|date:"M d, Y H:i" }}</p>
    <p>{{ entry.text|linebreaks }}</p>
  </li>
{% empty %}
  <li>
  There are no entries for this topic yet.
  </li>
{% endfor %}
</ul>

{% endblock content %}

结果如下图:

三 总结

在本章中,我们首先学习了如何使用Django框架来创建Web应用程序。制定了简要的项目规范,在虚拟环境中安装了Django,创建了一个项目,并核实该项目已正确地创建。学习了如何创建应用程序,以及如何定义表示应用程序数据的模型。学习了数据库,以及在修改模型后,Django可为迁移数据库提供什么样的帮助。学习了如何创建可访问管理网站的超级用户,并使用管理网站输入了一些初始数据。还探索了Django shell,它让能够在终端会话中处理项目的数据。学习了如何定义URL、创建视图函数以及编写为网站创建网页的模板。最后,使用了模板继承,它可简化各个模板的结构,并使得修改网站更容易。

四 展望

在接下来的学习中,我们将创建对用户友好而直观的网页,让用户无需通过管理网站就能添加新的主题和条目,以及编辑既有的条目。我们还将添加一个用户注册系统,让用户能够创建账户和自己的学习笔记。让任意数量的用户都能与之交互,是Web应用程序的核心所在。

 

编辑:董龙石通

发布时间:2019-03-24 11:10:31

当前文章://R/qb0mj.html

千赢国际客户端〖惊喜多多〗 大皇888 乐彩娱乐登录 88pt88手机客户端 

责任编辑:辛安石伯

随机推荐