django留言板制作
时间: 2023-07-04 13:13:51 浏览: 97
好的,下面是一个简单的 Django 留言板的制作过程:
1. 创建 Django 项目
在终端中使用以下命令创建 Django 项目:
```
django-admin startproject myproject
```
其中 `myproject` 是项目的名称,您可以根据自己的需要进行修改。
2. 创建留言板应用
在终端中使用以下命令创建留言板应用:
```
python manage.py startapp message_board
```
3. 定义模型
在 `message_board` 应用的 `models.py` 文件中定义留言板的模型,例如:
```python
from django.db import models
class Message(models.Model):
name = models.CharField(max_length=50)
email = models.EmailField()
message = models.TextField()
created = models.DateTimeField(auto_now_add=True)
```
其中,留言板只需要一个简单的模型,包含留言者的姓名、电子邮件地址、留言内容和创建时间。
4. 创建视图
在 `message_board` 应用的 `views.py` 文件中创建视图函数,例如:
```python
from django.shortcuts import render
from .models import Message
def message_board(request):
messages = Message.objects.all()
return render(request, 'message_board.html', {'messages': messages})
```
该视图函数将查询所有留言,并传递给名为 `message_board.html` 的模板。
5. 创建模板
在 `message_board` 应用的 `templates` 目录中创建名为 `message_board.html` 的模板文件,例如:
```html
{% extends 'base.html' %}
{% block content %}
<h1>留言板</h1>
<form method="post">
{% csrf_token %}
<label for="name">姓名:</label>
<input type="text" name="name" id="name"><br>
<label for="email">电子邮件地址:</label>
<input type="email" name="email" id="email"><br>
<label for="message">留言内容:</label>
<textarea name="message" id="message"></textarea><br>
<input type="submit" value="提交">
</form>
<hr>
{% if messages %}
{% for message in messages %}
<p>{{ message.name }} 于 {{ message.created }} 留言:</p>
<p>{{ message.message }}</p>
<hr>
{% endfor %}
{% else %}
<p>暂无留言。</p>
{% endif %}
{% endblock %}
```
该模板将展示所有留言,并包含一个表单用于提交新留言。
6. 配置 URL
在 `myproject` 项目的 `urls.py` 文件中配置 URL,例如:
```python
from django.contrib import admin
from django.urls import path
from message_board.views import message_board
urlpatterns = [
path('admin/', admin.site.urls),
path('', message_board, name='message_board'),
]
```
7. 运行项目
在终端中使用以下命令运行项目:
```
python manage.py runserver
```
现在您可以在浏览器中访问 `http://127.0.0.1:8000` 来查看 Django 留言板的效果了。
提示:本例子中并未包含表单验证、用户认证等功能,如果您需要这些功能,请参考 Django 官方文档进行开发。
阅读全文