Как я могу связать входные данные пользователей и числа, сгенерированные моим генератором судоку, и передать их в Django? - PullRequest
0 голосов
/ 19 декабря 2018

Я создал генератор sudoku и шаблоны, но теперь я застрял в публикации всего массива (9x9) в Django (т.е. sudoku_checker) для проверки дубликатов и определения, может ли пользователь перейти в следующую игру.

Вот мой шаблон выглядит как в Django, и вы увидите, что я проиндексировал / позиционировал каждую ячейку таблицы, подумал, что это может помочь с последующей проверкой:

 <table>
          <caption>Sudoku of the day</caption>
          {% for row in numbers %}
            <tr>
                {% for col in row %}
                {% if col is 0 %}
                <td>
                    <input class="d0" size="1" autocomplete="off" maxlength="1" name="{{ forloop.parentloop.counter0 }}{{ forloop.counter0 }}">
                </td>
                {% else %}
                <td id="{{ forloop.parentloop.counter0 }}{{ forloop.counter0 }}">{{ col }}</td>
                {% endif %}
                {% endfor %}
            </tr>
            {% endfor %}
        </table>
    <button  class="btn btn-primary" type="submit">Submit</button>

но что мне делать дальше?Правильно ли использовать метод Form для публикации данных в Django?Но как я могу убедиться, что все данные были объединены при прохождении для проверки, с точки зрения как известных чисел, так и неизвестных чисел (введенных пользователями)?любые намеки, пожалуйста?

Это код представлений, но я только заполнил таблицу numbers_fill_table, я не знаю, что написать во второй части представлений и форм правильно, чтобы опубликовать точные данные, которые я хочу.Пожалуйста помоги!

from .sudoku_generator import sudoku_generator

def board_fill(request):

    context = {'numbers': sudoku_generator.final_board()}
    template = 'sudoku_board.html'
    return render(request, template, context)

1 Ответ

0 голосов
/ 19 декабря 2018

Когда у вас есть представление (вы должны отобразить его на URL, который используется в качестве цели формы), оно получает объект запроса.Оттуда вы можете прочитать пользовательский ввод:

request.POST.get('44', 0) # Will return 0 if 44 is not found

Еще один совет о написании представления: https://docs.djangoproject.com/en/2.1/topics/http/views/ и отображении представления в URL: https://docs.djangoproject.com/en/2.1/topics/http/urls/

...