Добавлен bootstrap и форма для статьи #15

This commit is contained in:
Artur Galyamov 2022-12-19 18:36:49 +05:00
parent c4a41df849
commit dec7fb9af8
6 changed files with 62 additions and 25 deletions

View File

@ -1,5 +1,9 @@
from django.forms import ModelForm from django import forms
from .models import Article
class ArticleForm(ModelForm): class ArticleForm(forms.ModelForm):
pass class Meta:
model = Article
fields = ('body', 'link',)

View File

@ -3,4 +3,4 @@ from django.db import models
class Article(models.Model): class Article(models.Model):
body = models.TextField() body = models.TextField()
link = models.CharField(max_length=100, default='https://zakonvremeni.ru/news/') link = models.CharField(max_length=300, default='https://zakonvremeni.ru/news/')

View File

@ -1,13 +1,28 @@
{% extends 'base.html' %}
{% load bootstrap5 %}
{% block content %}
<div class="container">
<div class="row my-5">
<div class="col-md-12">
<h1>Заполните данные статьи для продвижения в соц. сетях</h1> <h1>Заполните данные статьи для продвижения в соц. сетях</h1>
<form <form
method="post" method="post"
enctype="application/x-www-form-urlencoded" enctype="application/x-www-form-urlencoded"
action="{% url 'create-article' %}" action="{% url 'create-article' %}"
class="form"
> >
{% csrf_token %} {% csrf_token %}
<label for="body">Краткий текст статьи</label> {% bootstrap_form new_article_form %}
<textarea id="body" name="body"></textarea> {% buttons %}
<label for="link">Ссылка</label> <button
<input type="text" name="link" id="link"> class="btn btn-primary"
<input type="submit" value="Продвинуть"> type="submit"
>
Продвинуть
</button>
{% endbuttons %}
</form> </form>
</div>
</div>
</div>
{% endblock content %}

15
cms/templates/base.html Normal file
View File

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Продвижение новостей в соц. сетях</title>
{% load bootstrap5 %}
{% bootstrap_css %}
{% bootstrap_javascript %}
{% bootstrap_messages %}
</head>
<body>
{% block content %}
{% endblock content %}
</body>
</html>

View File

@ -1,14 +1,14 @@
import os import os
from json import JSONDecoder, JSONEncoder from json import JSONEncoder
import requests import requests
from django.http import JsonResponse, HttpRequest from django.http import JsonResponse, HttpRequest
from django.shortcuts import render from django.shortcuts import render
from django.utils.decorators import method_decorator from django.utils.decorators import method_decorator
from django.views import View from django.views import View
from django.urls import reverse
from django.views.decorators.csrf import csrf_exempt from django.views.decorators.csrf import csrf_exempt
from cms.forms import ArticleForm
from cms.models import Article from cms.models import Article
@ -83,8 +83,10 @@ class ArticleView(View):
def new_article(request): def new_article(request):
article_form = ArticleForm()
article_context = {
'new_article_form': article_form
}
return render(request, return render(request,
template_name='articles/new.html',) template_name='articles/new.html',
context=article_context)

View File

@ -41,7 +41,8 @@ INSTALLED_APPS = [
'django.contrib.sessions', 'django.contrib.sessions',
'django.contrib.messages', 'django.contrib.messages',
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'cms' 'cms',
'bootstrap5',
] ]
MIDDLEWARE = [ MIDDLEWARE = [
@ -59,7 +60,7 @@ ROOT_URLCONF = 'crossposting_backend.urls'
TEMPLATES = [ TEMPLATES = [
{ {
'BACKEND': 'django.template.backends.django.DjangoTemplates', 'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [], 'DIRS': [BASE_DIR / 'templates'],
'APP_DIRS': True, 'APP_DIRS': True,
'OPTIONS': { 'OPTIONS': {
'context_processors': [ 'context_processors': [