Адаптация существующего сайта django для модальных форм - PullRequest
0 голосов
/ 08 июля 2019

У меня есть сайт, который использует URL-адреса для добавления / редактирования / просмотра записей в базе данных.Они передают информацию в другой шаблон для ввода данных.Сейчас я смотрю на модальные формы - на данный момент мы использовали css, а не модальные формы Django.

Мой вопрос, который является основным, можно ли сохранить URL-адреса и шаблоны, но встраивать их вмодальный?Таким образом, мы можем сохранить один и тот же код и перейти к модальным видам без перекодирования представлений.

Я ищу для этого простую и понятную документацию - поэтому, пожалуйста, пришлите мне любые хорошие ссылки.

Длябазовый пример (у нас есть более сложные представления):

хранилище шаблонов

{% extends 'storage/base.html' %}
{% load staticfiles %}
{% load widget_tweaks %}
{% block content%}
{% include "mainheader.html" %}
{% include "storage/submenu.html" %}
<div class="container top">
  <div class="row">
    {% for storage in storage.all %}
    <a class="text-light" href="{% url 'depot:detailstorage' storage.store_id %}">
      <div class="col-md-4">
        <div class="card text-white bg-dark mb-3" style="max-width: 18rem;">
          <!--div class="card-header">{{ storage.store_name }}</div-->
          <div class="card-body"  style="">
            <h5 class="card-title text-center">{{ storage.store_name }}</h5>
            <img class="card-img-top p-3" src="{{ storage.icon_desc.icon.url }}" /></a>
            <p class="card-text" style = "font-size:0.7em;">{{ storage.address_1 }} {{ storage.address_2 }} {{ storage.city }} {{ storage.region }} {{ storage.zip }} {{ storage.country }}</p>
          </div>
        </div>
      </div>
    </a>
    {% endfor %}
  </div>
</div>
{% endblock %}

хранилище создания шаблонов

{% extends 'storage/base.html' %}
{% load widget_tweaks %}
{% block content %}
{% include "mainheader.html" %}
{% include "storage/submenu.html" %}
<div class="container top">
  <h4 class="kap">Storage</h4>
    <div class="col-sm-3">
    <form method="POST" class="post-form">{% csrf_token %}
          {{ form.as_p }}

                   <button type="submit" class="save btn btn-dark mt-3t">Save</button>
    </form>
  </div>
</div>
{% endblock %}

хранилище представлений

def allstorage(request):
    allstorage = Storage.objects.all()
    return render(request, 'storage/allstorage.html',
    {
        'storage':allstorage
    })

create_storage

def createstorage(request):
    if request.method == "POST":
        form = StorageForm(request.POST)
        if form.is_valid():
            post = form.save(commit=False)
            post.created_by = request.user
            # post.modified_by = request.user
            # post.datetime = datetime.datetime.now()
            post.save()
            return redirect('depot:allstorage')
    else:
        form = StorageForm()
    return render(request, 'storage/create_storage.html', {'form': form})

urls

re_path(r'^storage/$', allstorage, name='allstorage'),
url(r'^storage/createstorage/$', createstorage, name='createstorage'),

(да, нам также нужно обновить все URL до path / re_path)

...