Содержание страницы
Доска объявлений — это популярный тип веб-приложений, и Django 4 предоставляет все необходимые инструменты для создания таких платформ. В этой статье мы покажем вам, как создать доску объявлений на Django 4 с нуля, используя практические примеры кода и полезные советы.
Установка и настройка Django 4
Сначала установите Django 4 с помощью следующей команды:
pip install django
После установки создайте новый проект Django с помощью команды:
django-admin startproject myboard
Создание приложения объявлений
Теперь создайте новое приложение для вашей доски объявлений:
python manage.py startapp ads
Добавьте это приложение в настройки проекта (myboard/settings.py
):
INSTALLED_APPS = [
...
'ads',
]
Создание модели объявления
Создайте модель объявления в файле ads/models.py
:
from django.db import models
class Ad(models.Model):
title = models.CharField(max_length=200)
description = models.TextField()
price = models.DecimalField(max_digits=10, decimal_places=2)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
Затем выполните миграцию, чтобы создать таблицу объявлений в базе данных:
python manage.py makemigrations
python manage.py migrate
Создание представлений и маршрутов
Создайте представления для списка объявлений и деталей объявления в файле ads/views.py
:
from django.shortcuts import render
from .models import Ad
def ad_list(request):
ads = Ad.objects.all()
return render(request, 'ads/ad_list.html', {'ads': ads})
def ad_detail(request, ad_id):
ad = Ad.objects.get(id=ad_id)
return render(request, 'ads/ad_detail.html', {'ad': ad})
Добавьте маршруты в файл ads/urls.py
:
from django.urls import path
from . import views
urlpatterns = [
path('', views.ad_list, name='ad_list'),
path('<int:ad_id>/', views.ad_detail, name='ad_detail'),
]
И подключите маршруты приложения в главный файл myboard/urls.py
:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('ads/', include('ads.urls')),
]
Создание шаблонов
Создайте каталог шаблонов внутри приложения ads
и добавьте файлы ad_list.html
и ad_detail.html
.
В файле ads/templates/ads/ad_list.html
добавьте следующий код:
{% extends "base.html" %}
{% block content %}
<h1>Список объявлений</h1>
<ul>
{% for ad in ads %}
<li><a href="{% url 'ad_detail' ad.id %}">{{ ad.title }}</a></li>
{% endfor %}
</ul>
{% endblock %}
В файле ads/templates/ads/ad_detail.html
добавьте следующий код:
{% extends "base.html" %}
{% block content %}
<h1>{{ ad.title }}</h1>
<p>{{ ad.description }}</p>
<p>Цена: {{ ad.price }}</p>
{% endblock %}
Создание базового шаблона
Создайте базовый шаблон base.html
в каталоге ads/templates
:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Доска объявлений на Django 4</title>
</head>
<body>
<div id="content">
{% block content %}
{% endblock %}
</div>
</body>
</html>
Запуск и тестирование доски объявлений
Запустите сервер разработки с помощью команды:
python manage.py runserver
Откройте веб-браузер и перейдите по адресу http://localhost:8000/ads/
, чтобы увидеть список объявлений. Вы можете добавить и редактировать объявления через админ-панель Django по адресу http://localhost:8000/admin/
.
В заключение
Как видите доска объявлений на Django 4 довольно просто реализуется и не требует специальных знаний или опыта . Вы можете дополнительно настроить приложение, добавив аутентификацию, фильтрацию объявлений, возможность загружать изображения и многое другое.