при попытке написать свой проект с регистрацией. Я не могу найти название ссылки, которую я пробовал всею Django urls - PullRequest
0 голосов
/ 05 марта 2020

У меня есть 2 приложения для чата и учетной записи, но я не понимаю, почему URL не найдены

account.urls

app_name = 'account'
urlpatterns = [
    path('login/', Login_proverka, name='Login'),
    path('<int:user_id>/profile/', Profil, name='Profil'),
    path('exit/', Exit, name='Exit'),
    path('register/', Register, name='Register'),
    path('<int:user_id>/chat/', include('chat.urls'))
]

chat.urls

app_name = 'chat'
urlpatterns = [
    path('', ListCHat, name='ListCHat'),
    path('<int:chat_id>', Chat, name='Chat'),
    path('<int:chat_id>/send_message', CreateMessage, name='CreateMessage')
]

chat. html

<form action="{% url 'chat:CreateMessage' %}" method="post">
                    {% csrf_token %}
                    <div class="row">
                        <div class="col">
                            <textarea class="form-control" id="exampleFormControlTextarea1" rows="3" style="resize: none; margin: 3px; height: 114%;

}"></textarea>
                        </div>
                        <div class="col-1">
                            <button type="button" class="btn btn-primary btn-lg btn-block" style="margin-left: -39%;width: 127%;
margin-top: 8%;"><i class="fa fa-hand-peace-o" aria-hidden="true"></i></button>
                            <button type="submit" class="btn btn-primary btn-lg btn-block" style="height: 57%;width: 123%;margin-left: -35%;">
                                <i class="fa fa-commenting-o" aria-hidden="true"></i>

                            </button>
                        </div>
                        </div>
                    </div>
                </form>

chat.views

def CreateMessage(request, chat_id, user_id):
    if request.method == 'POST':
        message_text = request.POST['message_text']
        try:
            user_get = Account.objects.get(user_id=user_id)
            user_name = user_get.user_name
        except:
            return HttpResponseNotFound('Пользователь не найден, скорее всего вы пытаетесь зайти туда куда вам не льзя')
        if request.user.is_authenticated:
            if request.user.username == user_name:
                y = Chat_group.objects.get(chat_group_id=chat_id)
                user_chat = Chat_user.objects.filter(chat_user_id=user_id[0])
                name_user = user_chat.chat_user_name
                last_name_user = user_chat.chat_message_user_last_name
                x = Chat_message(chat_message_user_name=name_user, chat_message_user_last_name=last_name_user,
                             chat_message=message_text, chat_message_group=y)
                x.save()
                return HttpResponseRedirect('/chat/{}'.format(chat_id))

Извините, что названия изменений так криво. Я буду вести блог, если вы скажете мне, где новичок допустил ошибки в django

1 Ответ

0 голосов
/ 05 марта 2020

Ваши URL-адреса чата являются вложенным пространством имен URL вашего аккаунта. Имена:

account:chat:CreateMessage

Это потому, что в URL вашего аккаунта есть:

app_name = 'account'
urlpatterns = [
    ...
    path('<int:user_id>/chat/', include('chat.urls'))
]

Если вы установите django -extensions, то запустите manage.py show_urls и вы увидите все URL доступны в вашем проекте.

...