【发布时间】:2022-02-14 21:30:16
【问题描述】:
我正在做一个 django 项目,试图创建一个论坛。
现在当用户创建一个新线程时,我需要创建一个具有唯一 url 的新 html 文件。
例如,如果用户创建了一个标题为“最好的编程语言是什么?”的话题。必须创建一个带有一些标准模板的新 html 文件(以及 views.py 中的函数以及 urls.py 中的路径),并且 url 应该类似于“mysitetitle.com/what's-the-best-programming-语言?”。
那将是我项目的相关代码。
views.py
def create_thread(request):
form = CreateForm()
if request.method == "POST":
form = CreateForm(request.POST)
if form.is_valid():
f = form.save(commit=False)
f.benutzername = request.user
f.save()
messages.success(request, "Thread has been created.")
create_thread.html
{% extends "forum/index.html" %}
{% load static %}
{% block title %} Create Thread {% endblock %}
{% block content %}
<div class="container-create">
<h2 class="heading-create">Diskussion erstellen</h2>
{% if messages %}
{% for message in messages %}
<div class="thread-info">{{ message }}</div>
{% endfor %}
{% endif %}
{% if not user.username %}
<div class="guest-login">As <span class="guest">Guest</span> or <a class="login-link" href="../login">Login</a></div>
{% endif %}
<form method="POST" action="">
{% csrf_token %}
<label class="label-create-topic" for="create-topic">Topic</label>
{{form.topic}}
<label class="label-create-title" for="create-title">Title</label>
{{form.title}}
<label class="label-create-content" for="create-content">Content</label>
{{form.content}}
<button class="submit-create" id="submit-create" type="submit" value="Create">Create</button>
</form>
</div>
{% endblock %}
【问题讨论】:
-
您可以创建一个 Django 视图来呈现您的论坛页面的 HTML 模板。同一个模板可用于呈现所有论坛的 HTML,因此无需创建多个 HTML 文件
-
您好,谢谢您的回答。你能详细说明你的想法吗?我必须说我是初学者,所以是的......