Django之素数的判断

来自CloudWiki
跳转至: 导航搜索

本文使用django框架搭建网站,运行之后,获取用户输入的整数,判断是否为素数并进行相应的提示。


本文技术要点

1)使用django创建网站

2)了解MVC开发模式

3)设置路由

4)接收用户输入

5)提交用户输入,后台判断是否为素数,然后生成前台结果页面


详细步骤

安装django

首先在命令提示符执行命令pip install django正确安装django框架

创建网站项目

执行以下命令创建网站项目:

C:\Python36\Scripts>django-admin startproject checkPrime

C:\Python36\Scripts>cd checkPrime

C:\Python36\Scripts\checkPrime>python manage.py startapp mainsite

修改配置文件

打开文件checkPrime\checkPrime\settings.py,在TEMPLATES节中添加下面的内容:

'DIRS': [os.path.join(BASE_DIR, 'templates')],

编写网页文件

编写checkPrime\templates\index.html文件,内容如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>判断是否为素数</title>
    </head>
    <body>
        <form name="my form" action="/" method="GET">
            <h3>输入一个整数,然后单击按钮判断是否为素数</h3>
            请输入一个整数:
            <input type="text" name="integerInput"  width="400px"/>
            <input type="submit" name="ok"  value="判断"/>
            <br>
            {%if result%}
            {{result}}
            {%endif%}
        </form> 
    </body>
</html>

注意,在上面的代码中,接收用户输入的输入框必须使用name属性。

修改url文件

修改checkPrime\checkPrime\urls.py文件,修改后内容如下:

from django.conf.urls import url
from django.contrib import admin
from mainsite.views import index


urlpatterns = [
    url('', index),
    url('admin/', admin.site.urls),
]

编写views.py文件

编写checkPrime\mainsite\views.py文件,完整内容如下:

from django.shortcuts import render
from django.template.loader import get_template
from django.http import HttpResponse


# Create your views here.
def index(request):
    template = get_template('index.html')
    try:

        # 获取用户输入,并尝试转换为整数

        num = int(request.GET['integerInput'])
    except:
        num = None


    result = ''
    if num != None:

        # 判断是否为素数

        if num == 2:
            result = '{0}是素数'.format(num)
        elif num%2 == 0:
            result = '{0}不是素数'.format(num)
        else:
            m = int(num**0.5) + 2
            for i in range(3, m, 2):
                if num % i == 0:
                    result = '{0}不是素数'.format(num)
                    break
            else:
                result = '{0}是素数'.format(num)


    # 生成结果

    html = template.render({'result':result})
    return HttpResponse(html)

启动网站

启动网站,在命令提示符环境执行命令python manage.py runserver

访问网站

访问网站,在浏览器中打开http://127.0.0.1:8000,输入整数,然后提示是否为素数,如图:

Python9-7.png

参考文档:

https://mp.weixin.qq.com/s?__biz=MzI4MzM2MDgyMQ==&mid=2247484664&idx=1&sn=55ba5a6088de38d4a8c706168447a552&chksm=eb8aafa2dcfd26b42ab5570b91be3a898fb2cdc6a7a86849a91cacc5f15c80a0220f9e5d8b22&scene=21#wechat_redirect