官网下载python最新版本 配置到环境变量中
打开intlij编辑器 创建django项目
安装django:pip install django
创建django项目: django-admin startproject django01
创建djangoAPP:python manage.py startapp user
启动: python manage.py runserver
更改端口启动: python manage.py runserver 8001
更改端口启动: python manage.py runserver:0.0.0.0:8000
生成迁移文件 python manage.py makemigrations
执行秦迁移 python manage.py migrate
# 表示通配符 匹配所有IP 表示可以被其他任何电脑来访问我(局域网) # 上线后可以指定其他那些服务器来访问我 ALLOWED_HOSTS = ['*']#注册APP user
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'user' ]
from django.http import HttpResponse
from django.shortcuts import render
# Create your views here.
def index(request):
pass
return HttpResponse('hello django')
匹配到user views.py中的一个index方法:
from django.contrib import admin from django.urls import path from user.views import * urlpatterns = [ path('index/', index), path('admin/', admin.site.urls), ]
运行 python manage.py runserver
user中新建urls.py
写入:
from django.urls import path #子路由 from user.views import * urlpatterns = [ path('index/', index), path('index2/', index2), ]
项目django01 中urls.py使用子路由
导入 from django.urls import path,include
from django.contrib import admin from django.urls import path,include from user.views import * urlpatterns = [ # path('index/', index), # path('index2/', index2), # 使用子路由 一个应用对应一个子路由 # 参数1 第一层路由 随便起名字 建议见名知义 这里起为user #参数二 第二层路由为 include('应用名称.创建的子路由urls') path('user/', include('user.urls')), path('admin/', admin.site.urls), ]
运行 python manage.py runserver
from django.db import models # Create your models here. class UserModel(models.Model): name=models.CharField(max_length=30,unique=True) #对应SQL:name=varchar(30) age=models.IntegerField(default=18) sex=models.CharField(max_length=20) is_deleted=models.BooleanField(default=False)
生成迁移文件 python manage.py makemigrations
执行秦迁移 python manage.py migrate
数据库表中user_usermodel 创建完成 一般为应用名称_你创建数据库时的类名
user APP中的views.py新建视图函数
from user.models import UserModel
def get_users(request):
users=UserModel.objects.all()
return render(request,'index.html',{'users':users})
user APP中新增路由
path('users/', get_users),
index中内容
Title
所有用户
{% for user in users %}
- {{ user.name }},{{ user.age }},{{ user.sex }}
{% endfor %}
启动 python manage.py runserver
CharField:
max_length
: 最大长度限制。python
my_char_field = models.CharField(max_length=100)
TextField:
- 无特定参数。
python
my_text_field = models.TextField()
IntegerField:
default
: 默认值。python
my_int_field = models.IntegerField(default=0)
FloatField:
default
: 默认值。python
my_float_field = models.FloatField(default=0.0)
DateTimeField:
auto_now
: 每次保存对象时自动设置为当前时间。auto_now_add
: 当对象第一次被创建时设置为当前时间。python
my_datetime_field = models.DateTimeField(auto_now=True)
BooleanField:
default
: 默认值。python
my_bool_field = models.BooleanField(default=False)
DateField:
auto_now
: 每次保存对象时自动设置为当前日期。auto_now_add
: 当对象第一次被创建时设置为当前日期。python
my_date_field = models.DateField(auto_now_add=True)
TimeField:
auto_now
: 每次保存对象时自动设置为当前时间。auto_now_add
: 当对象第一次被创建时设置为当前时间。python
my_time_field = models.TimeField(auto_now=True)
FileField:
upload_to
: 指定上传文件的子目录路径。python
my_file_field = models.FileField(upload_to='uploads/')
ImageField:
upload_to
: 指定上传图片的子目录路径。python
my_image_field = models.ImageField(upload_to='images/')