【问题标题】:How can I get/pass the string from HTML file to Views file in Django?如何从 HTML 文件获取/传递字符串到 Django 中的 Views 文件?
【发布时间】:2019-12-02 09:13:11
【问题描述】:

我在 HTML 文件中有一些字符串/文本。当我单击它们和单个字符串以提供不同的视图时,我想要一个新页面。如何将文本/字符串从 HTML 获取到 Django 视图以便我可以使用它们?

first_key 是 zip 文件,因此我正在浏览两个列表项广告,将这些列表项作为字符串/文本打印在我的一个页面上。单击它们后,我想要一个新页面,但无法获取我单击的字符串/文本/项目值。我想要在我的观点中的价值'{{i}}'。我试过了 request.POST.get['mytext'] 但我得到的只是NONE。我希望 '{{i}}' 存储在我的 views.py 文件中的变量中。

{% for i,j in first_key %}
<tr>    
<td><a name="my_text" href = "{% url 'search_app:page'%}" >{{i}}</a></td>
<td>{{ j }}</td>
</tr>
{% endfor %}

【问题讨论】:

  • 您要发送 {{i}} 并搜索它吗?
  • 您的视图(带有 url 模式“search_app:page”)应该将值作为参数,因此您需要更改 search_app:page 的 url 模式(例如,如果它是 /page,请将其更改为/page/。然后你的视图函数可以是def my_view(request, key),其中key是url中的参数。然后模板将使用{% url 'search_app:page' key=i %}
  • 做 django 教程,您将学习如何做到这一点(选择投票问题):docs.djangoproject.com/en/2.2/intro/tutorial03
  • 非常感谢@dirkgroten,它成功了。只是稍微更正...它显示找不到路径 (?P[0-9]+$) 所以我将我的 URL 更改为 page/(?P[\w+] +) 并且成功了。

标签: python html django


【解决方案1】:

根据您的代码从 i = request.POST.get['my_text'] 获取 i 的值

 <td><a name="my_text" href = "{% url 'search_app:page'%}" >{{i}}</a></td>

【讨论】:

  • 抱歉,它没有用。查看我的解决方案答案
【解决方案2】:

嗯...我找到了答案,我将其发布给其他人。 @dirkgroten 帮助我找到了答案。

首先,我通过诸如"{% url 'my_app:page' key=i %}" 之类的 URL 传递锚标记本身中 href 的值

然后在我的 urls.py 文件中,我将路径从 page_view/ 更改为 page_view/?P&lt;key&gt;[\w+]+

最后在我的 views.py 文件中,我将键值作为参数传递给函数,例如 def page(request, key): 然后我可以在我的一个视图中使用 key 的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-05
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-20
    • 2015-08-06
    • 1970-01-01
    相关资源
    最近更新 更多