### Django Web期末复习知识点
#### 一、项目与应用创建
- **项目文件与主路由配置**:在Django中,项目的入口文件是`manage.py`。通过命令`django-admin startproject 项目名`可以创建一个新的Django项目,之后进入项目目录通过`cd 项目名`进入,并使用`python manage.py startapp 应用名`创建应用。
- **主路由配置**:在项目中的`urls.py`文件里定义项目的URL模式。例如:
```python
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('teacher/', include('TeacherManagement027.urls'))
]
```
- **应用文件配置**:每个应用都有自己的`urls.py`,用于定义该应用的URL模式。应用也需要被添加到项目的`settings.py`的`INSTALLED_APPS`列表中才能生效。
```python
INSTALLED_APPS = [
'应用名.apps.应用名Config'
]
```
#### 二、模型(Model)
- **模型文件`models.py`**:模型用于定义数据库表结构,每一个类对应一个数据库表。
- **字段类型**:如`CharField`用于字符串字段,`IntegerField`用于整数等。
- **字段选项**:如`max_length`用于设置最大长度,`unique=True`表示字段唯一。
- **字段选择**:通过元组形式定义选项,如性别和职称的选择:
```python
GENDER_CHOICES = (('1', '男'), ('2', '女'))
TITLE_CHOICES = (('1', '教授'), ('2', '副教授'), ('3', '讲师'), ('4', '助教'))
```
- **模型方法**:可以自定义模型方法,如`__str__`方法返回对象的字符串表示。
```python
def __str__(self):
return f"{self.name}, {self.code_id}, {self.gender}, {self.age}, {self.salary}, {self.title}, {self.bio}"
```
#### 三、数据迁移
- **数据迁移**:当修改了模型后,需要通过迁移来更新数据库。首先运行`python manage.py makemigrations`生成迁移文件,然后通过`python manage.py migrate`执行迁移,更新数据库表结构。
- **插入数据**:可以在shell中手动插入数据或通过脚本自动插入数据。
```python
from TeacherManagement027.models import Teacher027
Teacher027.objects.create(
name='张三',
code_id='001',
gender='1',
age=30,
salary=200,
title='1',
bio='张三的简介'
)
```
#### 四、视图(View)
- **视图函数**:视图函数处理请求并返回响应。例如,展示教师列表:
```python
from django.core.paginator import Paginator
from django.shortcuts import render
from TeacherManagement027.models import Teacher027
def teacher_list(request):
teachers = Teacher027.objects.all()
paginator = Paginator(teachers, 6)
page = request.GET.get('page')
teachers = paginator.get_page(page)
return render(request, 'teacher_list.html', {'teachers': teachers})
```
- **分页**:如果数据量较大,可以通过`Paginator`类进行分页处理。
#### 五、静态资源配置
- **静态文件配置**:静态文件(如CSS、JavaScript)需要配置静态路由。在`settings.py`中设置:
```python
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
```
#### 六、其他常用命令
- **启动服务器**:使用`python manage.py runserver`命令启动开发服务器。
- **创建超级用户**:使用`python manage.py createsuperuser`命令创建超级用户,方便登录管理后台。
以上就是沈阳工学院Django Web期末复习的关键知识点汇总。希望这些知识点能够帮助学生更好地理解和掌握Django框架的核心概念和操作方法。