Django是python写成的开放源代码的web应用框架
本次使用的基础配置
python版本:3.6.3
Django:2.2
Windows10系统
如何查看Django版本
import django
django.__version__
这里推荐 cmder 这个小工具。
django-admin startproject SeqLength
此时目录下多了一个SeqLength文件夹
cd SeqLength
python manage.py startapp seqLengthapp
image.png
这里先存放一个用来输入序列的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
image.png
image.png
python manage.py runserver
image.png
<!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>
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})
image.png
image.png