pip install Django
django-admin startproject 项目名称
🍅manage.py:项目的管理,启动项目,创建app,数据管理(不需要修改)
🍅 init.py :一个空文件,声明所在目录的包为一个Python包
🍅asgi.py 接受网络请求(不需要修改)
🍅wsgi.py 接受网络请求 (不需要修改)
🍅urls.py: url和函数的对应关系(常常操作的文件)
🍅settings.py 项目配置
python manage.py startapp app名称
## 指定目录创建app
python manage.py startapp app名称 路径/app名称
💧admin:对应应用后台管理配置文件
💧apps:对应应用的配置文件
💧models:数据模块,用于操作数据库的。(重要)
💧tests:编写测试脚本
💧views:视图层,直接和浏览器进行交互 (重要)
## 找到创建的应用下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对应的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+端口)
pip install pymysql
pip install MySQLdb
pip install mysqlclient
## 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