zoukankan      html  css  js  c++  java
  • Django入门笔记

    数据模型迁移:

    • 编辑 models.py 文件,改变模型。
    • 运行 python manage.py makemigrations 为模型的改变生成迁移文件。
    • 运行 python manage.py migrate 来应用数据库迁移。

    视图:

      每个视图必须要做的只有两件事:返回一个包含被请求页面内容的 HttpResponse 对象,或者抛出一个异常,比如 Http404。至于你还想干些什么,都随你。

    模板:

    {% if latest_question_list %}
        <ul>
        {% for question in latest_question_list %}
            <li><a href="/polls/{{ question.id }}/">{{ question.question_text }}</a></li>
        {% endfor %}
        </ul>
    {% else %}
        <p>No polls are available.</p>
    {% endif %}



    <h1>{{ question.question_text }}</h1>
    {% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %} <form action="{% url 'polls:vote' question.id %}" method="post"> {% csrf_token %} {% for choice in question.choice_set.all %} <input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}" /> <label for="choice{{ forloop.counter }}">{{ choice.choice_text }}</label><br /> {% endfor %} <input type="submit" value="Vote" /> </form>

    所有针对内部 URL 的 POST 表单都应该使用 {% csrf_token %} 模板标签(为了安全)

    from django.shortcuts import get_object_or_404, render
    from django.http import HttpResponseRedirect, HttpResponse
    from django.urls import reverse
    
    from .models import Choice, Question
    # ...
    def vote(request, question_id):
        question = get_object_or_404(Question, pk=question_id)
        try:
            selected_choice = question.choice_set.get(pk=request.POST['choice'])
        except (KeyError, Choice.DoesNotExist):
            # 重新显示问题的投票表单
            return render(request, 'polls/detail.html', {
                'question': question,
                'error_message': "You didn't select a choice.",
            })
        else:
            selected_choice.votes += 1
            selected_choice.save()
            # 成功处理之后 POST 数据之后,总是返回一个 HttpResponseRedirect 。防止因为用户点击了后退按钮而提交了两次。
            return HttpResponseRedirect(reverse('polls:results', args=(question.id,)))
     
  • 相关阅读:
    mysql 存储结构
    Mysql 创建表
    java 定时任务
    SpringBoot
    Spring : Spring初识(二)
    hadoop
    JAVA学习路线图
    redis缓存和cookie实现Session共享
    说说 JAVA 代理模式
    Spring 学习教程(五):快速入门
  • 原文地址:https://www.cnblogs.com/EmptyRabbit/p/7881301.html
Copyright © 2011-2022 走看看