Django教程

Django 安装

pip install Django

Django创建项目

django-admin startproject 项目名称

Django 目录结构

在这里插入图片描述
🍅manage.py:项目的管理,启动项目,创建app,数据管理(不需要修改)

🍅 init.py :一个空文件,声明所在目录的包为一个Python包

🍅asgi.py 接受网络请求(不需要修改)

🍅wsgi.py 接受网络请求 (不需要修改)

🍅urls.py: url和函数的对应关系(常常操作的文件)

🍅settings.py 项目配置

Django 创建app

python  manage.py startapp app名称 
## 指定目录创建app
python  manage.py startapp app名称  路径/app名称

Django 中app目录结构

在这里插入图片描述
💧admin:对应应用后台管理配置文件

💧apps:对应应用的配置文件

💧models:数据模块,用于操作数据库的。(重要)

💧tests:编写测试脚本

💧views:视图层,直接和浏览器进行交互 (重要)

Django 启动

注册app

## 找到创建的应用下apps.py文件
from django.apps import AppConfig
class Test01Config(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'test01'

## 在项目settings.py下找到INSTALLED_APPS列表 并添加一项
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'test01.apps.Test01Config',//添加test01
]


编写URL与视图函数对应关系 urls.py

## 创建url对应的function 在app的view.py下面
from django.shortcuts import render, HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the test01 index.")

## 在项目urls.py中引入该文件 并添加值urlpatterns
from django.contrib import admin
from django.urls import path
from test01 import views

urlpatterns = [
    # path('admin/', admin.site.urls),
    path('index/',  views.index),
]

启动

python manage.py  runserver (ip+端口)

使用mysql

安装依赖

pip install pymysql 
pip install MySQLdb
pip install mysqlclient

配置mysql

## setting.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django-admin',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': 3306  
    }
}
## models.py
class UserInfo(models.Model):
    name = models.CharField(max_length=32)
    age = models.IntegerField()
    sex=models.CharField(default='男') ## 设置默认值
    address=models.CharField(null=True,blank=True) ## 设置默认值

生成表命令

python manage.py makemigrations
python manage.py migrate

清空项目表命令

python manage.py makemigrations --empty app名称
python manage.py migrate --fake-initial  重新生产django基础数据库

增删改查

 #  ####### 增加数据 #########
    UserInfo.objects.create(name="张三")

    # ###### 删除数据 ########

    # UserInfo.objects.filter(id=3).delete()
    # 删除所有
    # UserInfo.objects.all().delete()

    # ##### 获取数据 #####

    # queryset = UserInfo.objects.all()

    # row_obj = UserInfo.objects.filter(id=3).first()

    # for obj in queryset:
    #     print(obj.id)

    ## 更新数据 ###
    UserInfo.objects.all().update(age=2)

    UserInfo.objects.filter(id=3).update()

常见问题

django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.0001_initial on database 'default’

把之前数据库中生成的所有表删除,重新进行迁移

Related model xxx cannot be resolved 

把项目下的migrations除了__init__.py之外全部删除掉然后和清除库,然后执行python manage.py makemigrations
python manage.py migrate

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃蛋炒饭加蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值