Python开发工具PyCharm的web开发教程(五):创建并运行您的第一个 Django 项目

本篇文章将介绍在PyCharm 中,如何去创建并运行您的第一个 Django 项目的第四部分。

本篇文章将介绍在PyCharm 中,如何去创建并运行您的第一个 Django 项目的第四部分:

  • 创建Django模板
  • 使用样式表
  • 完成
  • 测试
创建Django模板

如图所见,这些页面的设计在视图中是硬编码的。因此,要使它更可读,必须编辑相应的Python代码。然后,将输出的Visual表分开。创建模板:

打开用于编辑文件轮询/视图。使用以下代码替换其内容:

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的未解决引用:

python开发工具pycharm。

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

python开发工具pycharm。

到目前为止,文件index.html是空的。向其中添加以下代码:

{% load staticfiles %}{% if latest_question_list %}
    {% for question in latest_question_list %}
  • {{ question.question_text }}
  • {% endfor %}
{% else %}

No polls are available.

{% endif %}

对于 Django 3 及更高版本,您需要{% load static %}使用{% load staticfiles %}.

注意模板文件中的代码完成!例如,当您键入开头时{%,PyCharm 会自动添加匹配的结尾%},将插入符号放在将来输入的位置。在 HTML 标记中,也可以使用代码完成。

注意分别出现在文件views.py和index.htmlhtml类型中的图标和图标:

python开发工具pycharm。

这些图标使您可以立即在视图方法及其模板之间跳转。

使用样式表

正如您在视图文件index.html中看到的,有一个对样式表的引用,但未解决:

通过以下方式解决此引用:

1.创建目录。为此,在项目视图中,选择 Python 包polls,然后按Alt+Insert。在出现的弹出菜单上,选择Directory,并指定目录结构的名称static/polls。

接下来,在这个目录中创建一个样式表。为此,请选择最里面的目录polls,按Alt+Insert,选择选项Stylesheet,然后在打开的对话框中输入样式。

根据您的喜好,为创建的样式表提供一些内容。例如,我们希望看到绿色问题的项目符号列表:

li a {color: green;}
完成

现在检查可用民意调查的列表,管理站点已经在运行,访问包含投票列表的页面(索引页面)的最简单方法是指定其 URL:在浏览器的地址栏中,而不是/admin/,键入/polls / :

python开发工具pycharm。
测试

现在看看 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'], [])

要运行此测试,请在编辑器中右键单击文件tests.py的背景,选择Run选项,或者只需按Ctrl+Shift+F10。PyCharm 建议两个选项:运行 UnitTest(定义为默认测试运行程序)或 Django 测试。

测试结果显示在Run工具窗口的Test Runner选项卡中:

python开发工具pycharm。

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

Python开发工具PyCharm的web开发教程(五):创建并运行您的第一个 Django 项目

PyCharm | 下载试用

JetBrains PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web开发。

想要了解或购买PyCharm正版授权的朋友,欢迎咨询官方客服

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月27日
下一篇 2022年1月27日

相关推荐

发表回复

登录后才能评论