首页 > 其他分享 >django

django

时间:2023-06-11 11:44:10浏览次数:40  
标签:models manage Question django python import

1 常用指令

pip install django -i https://pypi.douban.com/simple/ # 使用豆瓣镜像安装 django
django-admin startproject mysite # 创建个人项目
python manage.py runserver # 启动项目
python manage.py startapp polls # 创建投票应用
python manage.py makemigrations # 生成数据库迁移文件
python manage.py migrate # 执行数据库迁移文件
python manage.py createsuperuser # 创建超级账号

2 编写第一个视图

# polls.views

from django.http import HttpResponse


def index(request):
    return HttpResponse("你好,欢迎来到投票网站")

# polls.urls

from django.urls import path

from . import views

urlpatterns = [
    path("", views.index, name="index"),
]

# mysite.urls

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path("polls/", include("polls.urls")),
]

访问:http://127.0.0.1:8000/polls/
image

3 创建 model 类并生成数据库表

# polls.models

from django.db import models


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField("date published")


class Choice(models.Model):
    # 每个选项关联到一个问题
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

执行:

python manage.py makemigrations # 生成数据库迁移文件
python manage.py migrate # 执行数据库迁移文件

使用 shell 命令查看效果:

python manage.py shell # 打开shell 窗口
from polls.models import Choice, Question
Question.objects.all()
# <QuerySet []>
 q = Question(question_text="What's new?", pub_date=timezone.now())
q.save()
q.id
# 1
Question.objects.all()
# <QuerySet [<Question: Question object (1)>]>

但是 <QuerySet [<Question: Question object (1)>]>= 好像并没有实际意义,所以可以给 model 加上 __str__ 方法:

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField("date published")

    def __str__(self):
        return self.question_text

4 创建超级账号

python manage.py createsuperuser

登录:
http://127.0.0.1:8000/admin/
image
在管理页中加入投票模块:

# polls.admin

from django.contrib import admin

from .models import Question

admin.site.register(Question)

再次访问管理页:
image

标签:models,manage,Question,django,python,import
From: https://www.cnblogs.com/new-bee-2023/p/17472717.html

相关文章

  • django 中存储手机号的字段, 使用 Django 库 pip install django-phonenumber-field[ph
    原文参见:https://www.delftstack.com/zh/howto/django/django-phone-number-field/使用第三方Django应用程序的 PhoneNumberField 存储电话号码要存储电话号码,我们可以使用实现此字段的第三方Django应用程序或库:PhoneNumberField。你可以在此处找到此库或应用程序的Git......
  • django admin 后台手动添加数据,设置表单默认自动填充默认值,get_form函数
    需求admin添加数据,表单某字段默认填充值。例如电话号默认填充前缀:+86 效果 实现方法:https://www.codenong.com/529890/在数据库表模型对应的admin后台的管理文件admin.py 内对应Admin管理类配置get_form函数@admin.register(models.UserInfo)classUserInfoAdmi......
  • Python 3.6+Django开发入门小案例(自动变化的问候)完整步骤
    第一步:在命令提示符环境使用pipinstalldjango命令安装django第二步:在命令提示符环境使用pythondjango-admin.pystartprojectdjango_greeting命令创建网站django_greeting第三步:利用资源管理器在网站目录django_greeting中创建子文件夹templates,并在该子文件夹中创建文件gree......
  • django form data如何传递到template的vue
    参考:https://docs.djangoproject.com/en/4.2/ref/templates/builtins/#json-scriptafelyoutputsaPythonobjectasJSON,wrappedina<script>tag,readyforusewithJavaScript.Argument:TheoptionalHTML“id”ofthe<script>tag.Forexample......
  • 9.3 Django框架
    Django是一个非常流行的PythonWeb开发框架,它是完整且强大的,适用于构建大型Web应用。在这一章节中,我们将详细介绍Django的基本概念、组件和用法。为了便于理解,我们将使用实例来展示如何使用Django构建一个简单的Web应用。9.3.1安装和创建Django项目首先,使用pip......
  • django中的Case,When查询
    这一篇笔记将介绍条件表达式,就是如何在model的使用中根据不同的条件筛选数据返回。这个操作类似于数据库中ifelifelse的逻辑。1、model和数据准备这篇笔记我们用到的model是Client,放在blog/models.py下classClient(models.Model):REGULAR='R'GOLD=......
  • Django——ORM
    Django——ORM一、模板'parentloop':外层循环'counter0':当前循环获得数据的索引,索引是从0开始计算'counter':当前循环获得数据的索引,索引是从1开始计算'revcounter':当前反向循环获得数据的索引,索引是从1开始计算'revcounter0':当前反向循环获得数据的索引,索......
  • Django——数据库
    Django——数据库django在操作数据库1、配置好要连接的数据库2、定义模型类3、迁移数据库4、使用类对象方式操作数据库数据迁移的命令pythonmanage.pymakemigrationspythonmanage.pymigrate字段的增删改classstu(models.Model):#迁移结束之后,在数据库中......
  • Django——数据库2
    Django——数据库2添加数据#添加数据#1、使用create方法#data=Students.objects.create(name='阿宸',age=26,gender='2',height=1.79)#2、直接写入数据,写入完之后,必须使用save方法保存data=Students(name='叶鹏飞',age=19,gender='2',height=1.......
  • Django——模板
    Django——模板模板:django对模板文件没有特别大的限制,html,txt,没有类型的文件。django提供一种动态生成html页面的快捷方式,也就是模板。模板语言(DTL)1、配置模板pycharm创建django项目会自动将我们的模板templates配置好。#django的默认模板引擎;django也支持并且内......