本篇文章将介绍在PyCharm 中,如何去创建并运行您的第一个 Django 项目的第四部分。
本篇文章将介绍在PyCharm 中,如何去创建并运行您的第一个 Django 项目的第四部分:
- 创建Django模板
- 使用样式表
- 完成
- 测试
创建Django模板
from django.http import HttpResponse, HttpResponseRedirectfrom django.shortcuts import get_object_or_404, renderfrom django.urls import reversefrom .models import Question, Choicedef index(request): latest_question_list = Question.objects.order_by('-pub_date')[:5] context = {'latest_question_list': latest_question_list} return render(request, 'polls/index.html', context)def detail(request, question_id): question = get_object_or_404(Question, pk=question_id) return render(request, 'polls/detail.html', {'question': question})def results(request, question_id): question = get_object_or_404(Question, pk=question_id) return render(request, 'polls/results.html', {'question': question})def vote(request, question_id): question = get_object_or_404(Question, pk=question_id) try: selected_choice = question.choice_set.get(pk=request.POST['choice']) except (KeyError, Choice.DoesNotExist): return render(request, 'polls/detail.html', { 'question': question, 'error_message': "You didn't select a choice.", }) else: selected_choice.votes += 1 selected_choice.save() return HttpResponseRedirect(reverse('polls:results', args=(question.id,)))
对页面index.html的未解决引用:

PyCharm 建议快速修复:如果单击灯泡或按Alt+Enter,则会在模板文件夹中创建相应的模板文件(请注意,PyCharm 还会创建该模板应驻留的目录polls ):

到目前为止,文件index.html是空的。向其中添加以下代码:
{% load staticfiles %}{% if latest_question_list %}
- {% for question in latest_question_list %}
- {{ question.question_text }} {% endfor %}
No polls are available.
{% endif %}对于 Django 3 及更高版本,您需要{% load static %}使用{% load staticfiles %}.
注意模板文件中的代码完成!例如,当您键入开头时{%,PyCharm 会自动添加匹配的结尾%},将插入符 放在将来输入的位置。在 HTML 标记中,也可以使用代码完成。
注意分别出现在文件views.py和index.htmlhtml类型中的图标和图标:

这些图标使您可以立即在视图方法及其模板之间跳转。
使用样式表
正如您在视图文件index.html中看到的,有一个对样式表的引用,但未解决:
通过以下方式解决此引用:
1.创建目录。为此,在项目视图中,选择 Python 包polls,然后按Alt+Insert。在出现的弹出菜单上,选择Directory,并指定目录结构的名称static/polls。
接下来,在这个目录中创建一个样式表。为此,请选择最里面的目录polls,按Alt+Insert,选择选项Stylesheet,然后在打开的对话框中输入样式。
根据您的喜好,为创建的样式表提供一些内容。例如,我们希望看到绿色问题的项目符 列表:
li a {color: green;}
完成
现在检查可用民意调查的列表,管理站点已经在运行,访问包含投票列表的页面(索引页面)的最简单方法是指定其 URL:在浏览器的地址栏中,而不是/admin/,键入/polls / :

测试
现在看看 PyCharm 如何帮助简化应用程序的测试。
polls目录中已经有文件tests.py 。到目前为止,这个文件是空的。自然,建议将新测试放在这个特定文件中。例如,我们想确保我们的投票不为空:
import datetimefrom django.urls import reversefrom django.test import TestCasefrom django.utils import timezonefrom .models import Questiondef create_question(question_text, days): time = timezone.now() + datetime.timedelta(days=days) return Question.objects.create(question_text=question_text, pub_date=time)class QuestionViewTests(TestCase): def test_index_view_with_no_questions(self): """ If no questions exist, an appropriate message should be displayed. """ response = self.client.get(reverse('index')) self.assertEqual(response.status_code, 200) self.assertContains(response, "No polls are available.") self.assertQuerysetEqual(response.context['latest_question_list'], [])
测试结果显示在Run工具窗口的Test Runner选项卡中:

以上就是创建并运行您的第一个 Django 项目第四部分的相关内容。想要了解更多PyCharm使用教程。

PyCharm | 下载试用
JetBrains PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web开发。
想要了解或购买PyCharm正版授权的朋友,欢迎咨询官方客服
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!