### Django Web 开发实验知识点总结
#### 一、实验项目信息
- **实验项目名称**:Django Web 开发实验室
- **实验地点**:管理楼320
- **指导教师**:王浩
- **实验时间**:2016-2017 学年第2学期
- **学生姓名**:于健文
- **学生学号**:0218
#### 二、实验目的与内容
1. **实验目的**:
- **了解并掌握Django的在线和离线安装过程**:学生需熟悉Django安装的两种主要方式,并能根据实际情况选择合适的安装方法。
- **了解并掌握在Django中创建项目和应用**:学会使用`django-admin startproject`和`python manage.py startapp`命令来初始化项目和应用。
- **了解并掌握在Django创建Sqlite3数据库和表**:掌握如何在Django项目中设置数据库,以及如何通过模型来创建数据表。
- **掌握在Django中定义模型和迁移模型**:理解模型的作用,学会使用`python manage.py makemigrations`和`python manage.py migrate`命令来创建和应用数据库迁移。
- **掌握Django管理网站(adminsite)**:学会如何配置和使用Django内置的管理后台。
2. **实验内容**:
- **Django的在线和离线安装**:学生需要根据实际情况选择合适的安装方式,并确保安装成功。
- **项目与应用的创建**:使用指定命令创建项目和应用,并配置项目的`settings.py`文件。
- **数据库的创建与管理**:包括创建数据库、定义模型、生成和应用数据库迁移等步骤。
- **使用Django管理网站进行开发**:配置并使用Django自带的管理后台,实现对数据的基本CRUD操作。
- **实验报告**:根据实验过程撰写报告,并分享个人心得与体会。
#### 三、实验过程与结果
1. **安装Django**:
- **离线安装**:首先下载Django安装包,通过Anaconda Prompt命令行工具使用`pip install 文件名`命令安装Django。
- **验证安装**:使用`dir`命令查看文件是否已存在,确认安装成功。
2. **创建Django项目**:
- 使用`django-admin startproject 项目名称`命令创建项目。
- 在Spyder IDE中打开项目。
3. **创建数据库和表**:
- 使用`python manage.py migrate`命令创建数据库表。
4. **定义模型**:
- 在应用的`models.py`文件中定义模型类。
- 示例模型:
```python
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
```
5. **配置应用**:
- 在项目的`settings.py`文件中注册应用:
```python
INSTALLED_APPS = [
...
'zjapp',
...
]
```
6. **生成和应用数据库迁移**:
- 使用`python manage.py makemigrations 应用名称`和`python manage.py migrate`命令生成并应用迁移。
7. **创建管理员账户**:
- 使用`python manage.py createsuperuser`命令创建超级用户。
8. **启动服务器**:
- 使用`python manage.py runserver`启动开发服务器,并在浏览器中访问`http://127.0.0.1:8000/`查看结果。
#### 四、实验问题及体会
- **遇到的问题**:
- 安装过程中可能会遇到依赖库版本冲突或缺少必要的环境变量等问题。
- 在创建数据库和模型时可能会出现语法错误或类型不匹配的问题。
- 配置管理后台时可能出现权限问题或配置错误。
- **开发体会**:
- Django提供了一套完善的开发框架,使得开发者能够高效地构建复杂的Web应用。
- Django的文档详尽且易于理解,即使是初学者也能快速上手。
- 使用Django开发Web应用不仅可以提高开发效率,还能培养良好的编码习惯和团队协作能力。
- Django的灵活性允许开发者在框架的基础上进行扩展和定制,满足各种需求。