一、安装Django
pip install django==2.2 (==2.2是指定版本,如不写则会安装最新版本)
测试Django是否安装成功
进入python环境
import django
django.get_version()
二、创建一个Django项目
进入到指定要存放项目的目录,执行django-admin startproject xxx 来创建一个名字为xxx的工程
查看默认目录结构:
manage.py:
是Django用于管理本项目的命令行工具,之后进行站点运行,数据库自动生成等都是通过本文件完成
HelloDjango/__init__.py:
告诉python该目录是一个python包,暂无内容,后期一些工具的初始化可能会用到
HelloDjango/settings.py:
Django项目的配置文件,默认状态其中定义了本项目引用的组件,项目名,数据库,静态资源等。
HelloDjango/url.py:
维护项目的URL路由映射,即定义当客户端访问时由哪个模块进行响应。
HelloDjango/wsgi.py:
定义WSGI的接口信息,主要用于服务器集成,通常本文件生成后无需改动。
三、测试服务器的启动
python manage.py runserver [ip:port]
可以直接进行服务器运行,默认执行起来的端口是8000
也可以自己指定ip和端口:
监听机器所有可用ip(电脑可能有多个内网ip或多个外网ip):python manage.py runserver 0.0.0.0:8000或runserver 0:8000
同时在settings.py 中将ALLOWED_HOSTs=['*']
如果是外网或者局域网电脑上可以用其它电脑查看开发服务器,访问对应的ip加端口,比如 10.36.137.20:8000
浏览器访问:http://localhost:8000 可以看到服务器启动成功
四、数据迁移
迁移的概念:就是将模型映射到数据库的过程
生成迁移文件:python manage.py makemigrations
执行迁移:python manage.py migrate
五、创建应用
python manage.py startapp xxx创建名称为xxx的应用
使用应用前需要将应用配置到项目中,在settings.py中将应用加入到INSTALLED_APPS选项中
应用目录介绍:
__init__.py:
其中暂无内容,使得app成为一个包
admin.py:
管理站点模型的声明文件,默认为空
apps.py:
应用信息定义文件,在其中生成了AppConfig,该类用于定义应用名等数据
models.py:
添加模型层数据类文件
view.py:
定义URL相应寒素
migration包:
自动生成,生成迁移文件的
tests.py:
测试代码文件
六、基本视图
首先我们在view.py中建立一个路由响应函数
form django.http import HttpResponse
def welcome(request):
return HttpResponse('Hello Django')
接着我们在urls中进行注册
from App import views
re_path(r'^welcome/',views.welcome)
基于模块化的设计,我们通常会在每个app中定义自己的urls
在项目的urls中将app的urls包含进来
from django.conf.urls import include
re_path(r'^welcome/',include('App.urls'))
七、基本模板
模板实际上就是我们用HTML写好的页面
创建模板文件夹templates,在模板文件夹中创建模板文件
在views中加载渲染模板,使用render函数:return render(request,'xxx')
八、定义模型
在midels.py中引入models
from django.db import models
创建自己的模型类,但切记要继承自model.Model
案例:
定义学生类
class Student(models.Model):
name = models.CharField(max_length=20)
gender = models.BooleanField(default=True)
age = models.IntegerField()
info = models.CharField(max_length=20)
is_delete = models.BooleanField(default=False)
九、Admin后台管理
在admin.py中将model加入后台管理:
admin.site.register(Student)
创建超级用户:python manage.py createsuperuser
访问admin后台:http://localhost:8000/admin/
十、展示班级列表
在views.py文件中编写班级的祖峰函数:
def student_list(request):
#获取班级所有数据
s_list = Student.objects.all()
return render(request,'student/student_list.html',{'s_list':s_list})
模板文件(html文件)
{% for student in s_list %}
{{ student }}
{% endfor %}
十一、配置url
在student APP看新建urls.py文件,输入如下代码:
from django.conf.urls import url
from .views import student_list
urlpatterns = [
re_path(r'^student/',student_list),
]
在工程的urls.py文件中添加如下代码:
re_path(r'^',include(student.urls)),