专栏首页Python小屋Python+django建站入门篇(2):素数判断

Python+django建站入门篇(2):素数判断

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

本文技术要点:

1)使用django创建网站

2)了解MVC开发模式

3)设置路由

4)接收用户输入

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

详细步骤:

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

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

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

C:\Python36\Scripts>cd checkPrime

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

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

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

4、编写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属性。代码截图为:

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

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

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

6、编写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)

上面代码的截图为:

7、启动网站,在命令提示符环境执行命令python manage.py runserver,如图所示:

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

本文分享自微信公众号 - Python小屋(Python_xiaowu),作者:董付国

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-08-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python爬虫基础:常用HTML标签和Javascript入门

    大部分HTML标签是闭合的,由开始标签和结束标签构成,二者之间是要显示的内容,例如:<title>网页标题</title>。也有的HTML标签是没有结束标签的,...

    Python小屋屋主
  • Python实验项目1例:使用进程池统计指定范围内素数的个数

    (1)了解使用Python标准库multiprocessing编写多进程程序的方法。

    Python小屋屋主
  • Python+pandas读取Excel文件并统计演员参演电影数量

    Excel样本数据请参考Python读取Excel文件统计演员参演电影 >>> import pandas as pd >>> df = pd.read_exc...

    Python小屋屋主
  • 聊聊claudb的zset command

    claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/zset/SortedSetAddC...

    codecraft
  • 聊聊claudb的zset command

    claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/zset/SortedSetAddC...

    codecraft
  • 不一样的Nomogram,关于网页计算器的一切!

    今天为大家分享一篇2019年12月发表在Lung Cancer(中科院分区二区, IF=4.6)上的基于SEER数据库的nomogram文章。文中利用自己医院的...

    百味科研芝士
  • Centos7 安装 Mysql 数据库

    因为安装后,会自动给 root 生成默认密码的,我们用下面命令查看密码,5ejRwZBgquL就是默认密码了。

    ppjun
  • java向mysql插入数据乱码问题解决

    我们看到,尽管使用数据库时我们能够正常的添加和显示中文,但是在使用程序连接数据库时并不能够正常显示中文,为此我们需要修改MySQL的默认编码,编辑my.ini(...

    forxtz
  • 前端新人赶不上公司考核制度,怎么办?

    如题,这是一个朋友发给我的问题,我没有直接在微信上回复她,因为这不是几句话能说清楚的事情。 我暂且认为她的公司是互联网公司吧,那么这类公司的考核一般会从二个维度...

    web前端教室
  • 吃瓜看戏:热闹的 Mozilla 邮件列表

    Mozilla 邮件列表最近一周非常热闹,主要围绕着国内 CA 厂商 WoSign 爆出的一系列安全问题,以及对 WoSign 应对措施的争议。

    温铭@APISIX

扫码关注云+社区

领取腾讯云代金券