彩票走势图

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

翻译|使用教程|编辑:董玉霞|2022-03-31 13:48:44.200|阅读 161 次

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

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

慧都315,为正版护航


PyCharm官方正版下载

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

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

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

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

from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import get_object_or_404, render
from django.urls import reverse

from .models import Question, Choice


def 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 %}

{% 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 datetime
from django.urls import reverse
from django.test import TestCase
from django.utils import timezone
from .models import Question
def 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使用教程

PyCharm | 下载试用

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

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


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP