IntegrityError - Текстовое поле в HTML не входит в переменную Django? - PullRequest
0 голосов
/ 19 ноября 2011

Кажется, у меня проблема с получением данных из текстового поля html, назначенного переменной Django.Я следую за очень старой тренировкой на очень старом обороте со многими проблемами оборотов, поскольку я использую текущий оборот.У меня может быть опечатка, но я верю, что это именно то, что на тренировке.Есть ли что-то в операторе textarea, который не присваивает результат переменной «content» Django, которую я пропускаю?Если нет, я напечатал огромный пост со всем кодом, но он очень длинный, и как только я закончил, я подумал, что сначала спрошу это.

<html>
<head>
    <title> {{page_name}} - Editing </title>

</head>
<body>
    <h1> Editing {{page_name}}</h1>
    <form method="post" action="/wikicamp/{{page_name}}/save/">{% csrf_token %}
        <textarea name "content" rows="20" cols="60">{{content}}</textarea><br/>
        <input type = "submit" value="Save Page"/>
    </form>
</body>

Вот мнения... ошибка от второй до последней строки

def view_page(request, page_name):
    try:
        page=Page.objects.get(pk=page_name)
    except Page.DoesNotExist:
        return render_to_response("create.html", {"page_name":page_name})
    content = page.content
    return render_to_response("view.html", {"page_name":page_name, "content":content})

def edit_page(request, page_name):
    try:
        page = Page.objects.get(pk=page_name)
        content = page.content
    except Page.DoesNotExist:
        content = ""
    return render_to_response("edit.html",{"page_name":page_name, "content":content},context_instance=RequestContext(request))

def save_page(request, page_name):
    content = request.POST.get('content')
    try:
        page = Page.objects.get(pk=page_name)
        page.content = content

    except Page.DoesNotExist:
        page = Page(name=page_name, content = content)
    page.save() # error thrown up on this line for Null data 
    return HttpResponseRedirect("/wikicamp/" + page_name +"/")

1 Ответ

1 голос
/ 19 ноября 2011

Как написал Крис, вам не хватает знака "=" в теге определения textarea.

Я бы также предложил использовать только тип ввода input = "text", но это мой стиль.Если вам это нужно, то забудьте, что я написал это.

Я подозреваю, что вы уже исправили эту проблему :) Если это так, не могли бы вы передать свое решение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...