django

  1. py -m django --version查询django的版本
  2. django-admin startproject mysite这行代码将会在当前目录下创建一个 mysite 目录
  3. 目录结构
    mysite/ 项目容器
    manage.py 管理 Django 项目的命令行工具
    polls 投票应用
    mysite/ 包含你的项目,它是一个纯 Python 包
    init.py
    settings.py Django 项目的配置文件
    urls.py Django 项目的 URL 声明,就像你网站的“目录”from django.contrib import admin from django.urls import include, path urlpatterns = [ path('polls/', include('polls.urls')), path('admin/', admin.site.urls), ]
    wsgi.py 作为你的项目的运行在 WSGI 兼容的Web服务器上的入口
  4. py manage.py runserver 本机ip地址 开放端口 运行框架
    ps本机IP在setting里设置
    ALLOWED_HOSTS = [ ‘192.168.1.115’,‘localhost’,‘0.0.0.0:8000’,‘127.0.0.1’]
    局部网可以访问
  5. 创建投票应用
    py manage.py startapp polls 创建一个polls应用:
    polls/
    init.py
    admin.pyfrom django.contrib import admin from .models import Question admin.site.register(Question)
    urls.pyfrom django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ]
    apps.pyINSTALLED_APPS = [ 'polls.apps.PollsConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
    migrations/
    init.py
    models.pyfrom 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)
    tests.py
    views.pyfrom django.http import HttpResponse def index(request): return HttpResponse("Hello, world. You're at the polls index.")def detail(request, question_id): return HttpResponse("You're looking at question %s." % question_id) def results(request, question_id): response = "You're looking at the results of question %s." return HttpResponse(response % question_id) def vote(request, question_id): return HttpResponse("You're voting on question %s." % question_id)
    这个目录结构包括了投票应用的全部内容
  6. 配置数据库
  7. 设置时区‘UTF’是格林威治时间我们应该设置为TIME_ZONE = ‘Asia/Shanghai’
  8. py manage.py migrate ps:这个 migrate 命令检查 INSTALLED_APPS 设置,为其中的每个应用创建需要的数据表
  9. 创建两个模型question对象和choice对象
  10. 激活模型,配置apps,安装polls应用
  11. 检验py manage.py makemigrations polls输出:
    Migrations for ‘polls’:
    polls/migrations/0001_initial.py:
    • Create model Choice
    • Create model Question
    • Add field question to choice
      ps:0001_initial.py是模型的迁移数据
  12. py manage.py sqlmigrate polls 0001输出:BEGIN;

    – Create model Choice

    CREATE TABLE “polls_choice” (
    “id” serial NOT NULL PRIMARY KEY,
    “choice_text” varchar(200) NOT NULL,
    “votes” integer NOT NULL
    );

    – Create model Question

    CREATE TABLE “polls_question” (
    “id” serial NOT NULL PRIMARY KEY,
    “question_text” varchar(200) NOT NULL,
    “pub_date” timestamp with time zone NOT NULL
    );

    – Add field question to choice

    ALTER TABLE “polls_choice” ADD COLUMN “question_id” integer NOT NULL;
    ALTER TABLE “polls_choice” ALTER COLUMN “question_id” DROP DEFAULT;
    CREATE INDEX “polls_choice_7aa0f6ee” ON “polls_choice” (“question_id”);
    ALTER TABLE “polls_choice”
    ADD CONSTRAINT “polls_choice_question_id_246c99a640fbbd72_fk_polls_question_id”
    FOREIGN KEY (“question_id”)
    REFERENCES “polls_question” (“id”)
    DEFERRABLE INITIALLY DEFERRED;

COMMIT;这是一个sql语句我不懂数据库,大概意思是创建了choice,question,和二者相关联的数据模型,Add field question to choice
–这个我得电脑没有输出,不知道是什么原因,我没有安装数据库

迁移是非常强大的功能,它能让你在开发过程中持续的改变数据库结构而不需要重新删除和创建表 - 它专注于使数据库平滑升级而不会丢失数据。我们会在后面的教程中更加深入的学习这部分内容,现在,你只需要记住,改变模型需要这三步:

编辑 models.py 文件,改变模型。
运行 python manage.py makemigrations 为模型的改变生成迁移文件。
运行 python manage.py migrate 来应用数据库迁移。
数据库迁移被分解成生成和应用两个命令是为了让你能够在代码控制系统上提交迁移数据并使其能在多个应用里使用;这不仅仅会让开发更加简单,也给别的开发者和生产环境中的使用带来方便。
13. py manage.py shell进入python交互命令行可以编程使用api接口,quit()退出
14. 介绍 Django 管理页面

  1. 向管理页面中加入投票应用,我们得告诉管理页面,问题 Question 对象需要被管理。打开 polls/admin.py 文件,把它编辑
  2. 添加视图detail,results,vote
  3. 添加视图对应的urls,# ex: /polls/
    path(’’, views.index, name=‘index’),
# ex: /polls/5/
path('<int:question_id>/', views.detail, name='detail'),
# ex: /polls/5/results/
path('<int:question_id>/results/', views.results, name='results'),
# ex: /polls/5/vote/
path('<int:question_id>/vote/', views.vote, name='vote'),
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值