Django 与 flask 接收参数的方式

1.Django相关get,post,form请求

{% extends 'base.html' %}

{% block title %} myCSDN首页 {% endblock %}

{% block content %}
    {{ string }} : <br>
    <a href="/testGet1?a=1&b=2">计算4+6</a><br>
    <a href="/testGet2/4/6">计算4+6</a><br>
    {% for i in dataList %}
        {{ i }} {% if not forloop.last %} , {% endif %} <br>
    {% endfor %}
    <br>
    {% for key, value in dataDirc.items %}
        {{ key }} : {{ value }} <br>
    {% endfor %}
    <br>
    models:<br>
    {% for i in AuthorList %}
        {{ i.author_name }} , {{ i.age }} , {{ i.count }} <br>
    {% endfor %}
    tags:<br>
    {% for i in TagList %}
        {{ i.id }} ====> {{ i.name }}
    {% endfor %}

    <br>
    a:<input type="text" name="a" id="a"> <br>
    b:<input type="text" name="b" id="b"> <br>
    <input type="button" id="max" value="max">
    result:<span id="result"></span>


    <script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script>
    <script>
        $("#max").click(function(){
            $.ajaxSetup({
                data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
            });
            $.post("/testPost/",{'a': $("#a").val(), 'b': $("#b").val()}, function (ret) {
                $("#result").html(ret)
            })
        })
    </script>
{% endblock %}

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^testForm/$', views.testForm, name='home'),
    url(r'^testGet1/$', views.testGet1, name='testGet1'),
    url(r'^testGet2/(\d+)/(\d+)/$', views.testGet2, name='testGet2'),
    url(r'^testPost/$', views.testPost, name='testPost'),
    url(r'^admin/', admin.site.urls),
]

def index(request):
    TagList = Tag.objects.raw("select * from mycsnd_tag")
    AuthorList = Author.objects.all().order_by('-name').extra(select={"author_name": "name"})
    dataList = ["测试1", "测试2", "测试3",]
    dataDirc = {"字典key1": "字典value1", "字典key2": "字典value2"}
    return render(request, 'home.html', {'string': '测试计算', "dataList": dataList, "dataDirc": dataDirc,
                                         "AuthorList": AuthorList, "TagList": TagList})


def testGet1(request):
    a = request.GET.get('a', '0')
    b = request.GET.get('b', '0')
    return HttpResponse(str(int(a) + int(b)))


def testGet2(request, a, b):
    return HttpResponse(str(int(a) + int(b)))


def testPost(request):
    form = AddForm(request)
    a = int(request.POST.get('a', '0'))
    b = int(request.POST.get('b', '0'))
    if a > b:
        return HttpResponse(a)
    else:
        return HttpResponse(b)


def testForm(request):
    if request.method == 'POST':
        form = AddForm(request.POST) //创建AddForm类接收
        if form.is_valid():
            a = form.cleaned_data['a']
            b = form.cleaned_data['b']
            return HttpResponse(str(int(a) + int(b)))
    else:
        form = AddForm()
    return render(request, 'index.html', {'form': form})



class AddForm(forms.Form):
    a = forms.IntegerField()
    b = forms.IntegerField()

2.flask相关请求

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{{ title | upper | center | lower }}</title>
</head>
<script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script>
<body>
    {{ b | upper | safe}}
    <form action="/toLogin" method="POST" enctype="multipart/form-data">
        用户名:<input type="text" name="username"><br>
        密  码:<input type="password" name="pwd"><br>
        图  片:<input type="file" name="file"><br>
        <input type="submit" value="提交">
    </form>
    <input type="button" value="testGET" id="get">
    <input type="button" value="testPOST" id="post">

    <script>
        $("#get").click(function(){
            $.get("/testGET/wo?A=1", function (ret) {
                $("#get").val(ret)
            })
        })

        $("#post").click(function () {
            $.post("/testPOST", {"A": "1"}, function (ret) {
                $("#post").val(ret)
            })
        })
    </script>
</body>
</html>



@app.route("/login")
def login():
    return render_template("login.html", title="abc", b="efg")


@app.route("/toLogin", methods=['post', 'get'])
def toLogin():
    if request.method == 'POST':
        print(request.form)
        username = request.form.get('username')
        pwd = request.form.get('pwd')
        if username == 'me' and pwd == '123':
            file = request.files['file']
            print("*********"+file.name)
            print("=========="+file.FileStorage)
            file.save("E:/a.png")
            return redirect("http://www.baidu.com")
        else:
            return render_template("login.html")
    else:
        return render_template("login.html", title="abc")


@app.route("/testGET/<name>", methods=['get'])
def testGET(name=None):
    a = request.args.get('A')
    return "testGET" + " A=" + a + name


@app.route("/testPOST", methods=['post'])
def testPOST():
    a = request.form.get('A')
    return "testPOST" + " A=" + a


if __name__ == '__main__':
    app.run(host="localhost", port=5000, debug=False)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值