Django study

[TOC]

Django study

creating a project

 django-admin startproject mysite   #mysit 网站根目录

调试

py manage.py runserver   
py manage.py runserver 8080  
py manage.py runserver 0:8000   

demo-the Polls app

  • 网站根目录输入如下指令
py manage.py startapp polls 
django_polls_cmd.jpg

django_polls.jpg

编辑视图文件

from django.shortcuts import render

# Create your views here.
def index(request):
    return HttpResponse("Hello.world.You're at index.")  
django_view_write.jpg

映射URL-->URLconf

polls_url.jpg

facereco_url.jpg
  • app 添加url索引index
  • project the root url add app index

运行,访问

  py manage.py runserver    
  http://localhost:8000/polls/
  • 需要访问polls文件,直接访问端口,显示not found

database setup

sqlite

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'mydatabase',
    }
}   

sql

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}   

自带app使用初始化

 py manage.py migrate

创建模型

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)  
polls.jpg

polls_install.jpg
  • django app全部是可插拔的,可以添加,发布,并不会绑定在单一的项目上

执行数据迁移

py manage.py makemigrations polls   
polls_migrations.jpg

添加模型三步走

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

Django管理

创建管理页面

py manage.py createsuperuser    

登录管理

  py manage.py runserver
  http://127.0.0.1:8000/admin/

添加投票应用

# polls/admin.py
from django.contrib import admin

from .models import Question

admin.site.register(Question)   

快捷函数render()

  • 载入模板,填充上下文,再返回由它生成的 HttpResponse 对象」是一个非常常用的操作流程。于是 Django 提供了一个快捷函数,我们用它来重写 index() 视图

快捷函数get_object_or_404()

  • 尝试用 get() 函数获取一个对象,如果不存在就抛出 Http404 错误也是一个普遍的流程。Django 也提供了一个快捷函数,下面是修改后的详情 detail() 视图代码;

你可能感兴趣的:(Django study)