首页 > 解决方案 > 我想在不使用表单的情况下从用户那里获取数据

问题描述

我目前正在一个发布网络小说的网站上工作。我需要一个系统来让用户发送章节 ID 并获取使用该 ID 的章节可能像:

<a href="chapters/1">Chapter1</a>
<a href="chapters/2">Chapter2</a>
<a href="chapters/3">Chapter3</a>

我不想为我们发布的每个小说章节创建一个特定的 html 页面,并使用一个系统来获取链接“/chapter/ id ”部分或在单击元素时发送 id 并使用从数据库中提取数据给定的 ID。我在网上搜索并找不到任何有用的东西。

注:数据库是这样的;

class Chapter(models.Model):
    chapter_id = models.IntegerField(primary_key=True, default=None)
    chapter_title = models.CharField(max_length=100, default=None)
    chapter_text = RichTextField(default=None)
    chapter_footnotes = RichTextField(default=None, blank=True)

标签: javascriptpythonhtmldjango

解决方案


您应该能够使用您在描述中提到的URL 调度程序

// urls.py 

from django.urls import path
from . import views

urlpatterns = [
  path("chapter/<int:chapter_id>", views.chapter, name="chapter"),
]

在那里输入的 ID 基本上可以用来获取 views.py 中的相关章节

// views.py

def chapter(request, chapter_id):

    chapter = Chapter.models.get(id=chapter_id)

    return render(request, "yourtemplate.html", {"chapter": chapter})

然后你可以在你的 HTML 模板中渲染它们

// yourtemplate.html

{{ chapter.chapter_title }}

{{ chapter.chapter_text }}

{{ chapter.chapter_footnotes }}

推荐阅读