actx23a
actx23a
采纳率61.9%
2018-05-08 14:12 阅读 2.7k

python django views函数传值问题?

20

django里面的views.py

里面的函数的第一个参数都是request,可以添加第二个参数吗?

如def showpost(request,slug),,怎么添加slug

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • 已采纳
    Amio_ Amio_ 2018-05-10 03:03

    urls.py

     urlpatterns = [
        path('xxx/<int:slug>/', views.showpost),    # 这里相当于给slug赋值(匹配url,http://localhost:8000/xxx/123,相当于slug的值就是123)
    ]
    
    

    views.py

     def showpost(request,slug):
         # 在这里就能取到sulg的值
    
    
    点赞 1 评论 复制链接分享
  • wowo11111111 wowo11111111 2018-05-08 14:47

    可以的,如下
    def add(request,a,b):
    c=int(a)+int(b)
    return HttpResponse(str(c))

    点赞 评论 复制链接分享
  • wudikkss wudikkss 2018-05-08 15:44

    补充一点
    url的形式可以是http://127.0.0.1:8002/add/?a=4&b=5
    或者http://127.0.0.1:8002/add/4/5
    而且默认传输的是str类型,所以计算前需要先转化为int类型
    对于初学者可以看下自强学堂或者菜鸟教程

    点赞 评论 复制链接分享
  • qq_23040487 qq_23040487 2018-05-09 02:13

    可以的,如下
    def add(request,a,b):
    c=int(a)+int(b)
    return HttpResponse(str(c))

    点赞 评论 复制链接分享
  • coolmanqq Mr哈哈哈哈哈哈哈哈 2018-05-10 02:05

    可以添加,添加的参数名需要和url配置的时候进行匹配正则名称的,如下例:

    urlpatterns = [
        path('blog/', views.page),
        path('blog/page<int:num>/', views.page),
    ]
    
    def page(request, num=1):
        pass
    
    

    url的配置的num,和view里面方法的num参数同名。

    点赞 评论 复制链接分享

相关推荐