Django是python写成的开放源代码的web应用框架
本次使用的基础配置
python版本:3.6.3
Django:2.2
Windows10系统
如何查看Django版本
import django
django.__version__
流程
- 新建一个
Calculate_Seq_Length_20190815_v1
文件夹,使用windows下的命令行进入这个文件下,这里推荐 cmder 这个小工具。使用如下命令新建工程
django-admin startproject SeqLength
此时目录下多了一个SeqLength文件夹
image.png
- 然后进入这个文件夹,创建新的应用
cd SeqLength
python manage.py startapp seqLengthapp
image.png
- 进入seqLengthapp文件下新建templates文件夹用来存放html模板文件
这里先存放一个用来输入序列的html文件,html代码如下:
<!DOCTYPE html>
<html>
<title>Calculate Length of Sequence</title>
<body>
<h1>Please input sequence</h1>
<form action="../Results/">
<textarea rows=20 cols=60 name='text'>输入fasta格式的序列</textarea>
<br>
<input type="submit" value="序列提交">
</form>
</body>
</html>
将其命名为inputSeq.html,页面效果如下
image.png
-
在SeqLength文件夹下的seetings.py文件中设置模板路径
image.png -
在seqLengthapp文件夹下的views.py文件中添加处理函数
image.png -
在SeqLength文件夹下的urls.py中设置路由
image.png -
然后在Calculate_Seq_Length_20190815_v1/SeqLength文件夹下运行如下命令启动程序
python manage.py runserver
- 在浏览器中输入http://127.0.0.1:8000/seqLen/可以看到效果
image.png - 在templates文件夹下再新建一个html文件用来返回计算结果,命名为outputresult.html,代码如下
<!DOCTYPE html>
<html>
<title>output</title>
<body>
<h1>这里是输出结果</h1>
<table border="1">
<thead>
<th>序列名称</th>
<th>序列长度</th>
<th>GC含量</th>
</thead>
<br>
<tbody>
{% for line in seqLength %}
<tr>
<td>{{line.SeqName}}</td>
<td>{{line.SeqLength}}</td>
<td>{{line.GCcontent}}</td>
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>
- 在views.py文件中设置处理函数
def calresults(request):
datalist = []
seq = request.GET['text']
with open('1.fasta','w') as fw:
fw.write(seq)
for rec in SeqIO.parse('1.fasta','fasta'):
d = {"SeqName":rec.id,"SeqLength":str(len(rec.seq)),\
"GCcontent":str(GC(rec.seq))}
datalist.append(d)
return render(request,"outputresult.html",{'seqLength':datalist})
-
在urls.py文件中配置路由
image.png
运行
输入
image.png返回结果
image.png参考文献
- 中国大学MOOC 《python云端系统开发入门》
- B站 《Django 2.0和Python快速入门 (更新完毕)》
欢迎大家关注我的公众号小明的数据分析笔记本
网友评论