前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Django框架开发的第一个简易web程序:计算fasta序列长度和GC含量

使用Django框架开发的第一个简易web程序:计算fasta序列长度和GC含量

作者头像
用户7010445
发布2020-03-02 16:38:30
6450
发布2020-03-02 16:38:30
举报

Django是python写成的开放源代码的web应用框架

本次使用的基础配置 python版本:3.6.3 Django:2.2 Windows10系统 如何查看Django版本

代码语言:javascript
复制
import django
django.__version__

流程

新建一个Calculate_Seq_Length_20190815_v1文件夹,使用windows下的命令行进入这个文件下,使用如下命令新建工程

这里推荐 cmder 这个小工具。

代码语言:javascript
复制
django-admin startproject SeqLength

此时目录下多了一个SeqLength文件夹

然后进入这个文件夹,创建新的应用

代码语言:javascript
复制
cd SeqLength
python manage.py startapp seqLengthapp

image.png

进入seqLengthapp文件下新建templates文件夹用来存放html模板文件

这里先存放一个用来输入序列的html文件,html代码如下:

代码语言:javascript
复制
<!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文件中设置模板路径

在seqLengthapp文件夹下的views.py文件中添加处理函数

image.png

在SeqLength文件夹下的urls.py中设置路由

image.png

然后在Calculate_Seq_Length_20190815_v1/SeqLength文件夹下运行如下命令启动程序

代码语言:javascript
复制
python manage.py runserver

在浏览器中输入http://127.0.0.1:8000/seqLen/可以看到效果

image.png

在templates文件夹下再新建一个html文件用来返回计算结果,命名为outputresult.html,代码如下

代码语言:javascript
复制
<!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文件中设置处理函数

代码语言:javascript
复制
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

参考文献

  • 中国大学MOOC 《python云端系统开发入门》
  • B站 《Django 2.0和Python快速入门 (更新完毕)》
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 流程
    • 新建一个Calculate_Seq_Length_20190815_v1文件夹,使用windows下的命令行进入这个文件下,使用如下命令新建工程
      • 然后进入这个文件夹,创建新的应用
        • 进入seqLengthapp文件下新建templates文件夹用来存放html模板文件
          • 在SeqLength文件夹下的seetings.py文件中设置模板路径
            • 在seqLengthapp文件夹下的views.py文件中添加处理函数
              • 在SeqLength文件夹下的urls.py中设置路由
                • 然后在Calculate_Seq_Length_20190815_v1/SeqLength文件夹下运行如下命令启动程序
                  • 在浏览器中输入http://127.0.0.1:8000/seqLen/可以看到效果
                    • 在templates文件夹下再新建一个html文件用来返回计算结果,命名为outputresult.html,代码如下
                      • 在views.py文件中设置处理函数
                        • 在urls.py文件中配置路由
                        • 运行
                        • 参考文献
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档