温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Django 项目创建及基础知识是什么

发布时间:2021-12-08 16:14:07 来源:亿速云 阅读:96 作者:柒染 栏目:大数据
# Django 项目创建及基础知识 ## 目录 1. [Django 简介](#django-简介) 2. [环境准备](#环境准备) 3. [创建第一个Django项目](#创建第一个django项目) 4. [Django项目结构解析](#django项目结构解析) 5. [Django基础概念](#django基础概念) 6. [创建Django应用](#创建django应用) 7. [模型-视图-模板(MVT)模式](#模型-视图-模板mvt模式) 8. [Django Admin后台管理](#django-admin后台管理) 9. [常见问题与解决方案](#常见问题与解决方案) 10. [总结](#总结) --- ## Django 简介 Django 是一个高级 Python Web 框架,由 Adrian Holovaty 和 Simon Willison 于2003年开发,遵循"Batteries included"(内置电池)哲学。其主要特点包括: - **快速开发**:提供大量内置功能 - **安全可靠**:自动处理SQL注入、XSS等安全问题 - **可扩展性强**:支持高流量网站 - **MTV架构**:类似MVC但略有不同 - **ORM支持**:数据库操作无需直接编写SQL 最新稳定版本为Django 4.x(截至2023年),同时支持Python 3.8+版本。 --- ## 环境准备 ### 1. Python环境 ```bash # 检查Python版本(需3.8+) python --version 

2. 安装Django

# 使用pip安装最新稳定版 pip install django # 验证安装 python -m django --version 

3. 可选工具

  • IDE推荐:PyCharm、VS Code
  • 数据库:SQLite(默认)、MySQL、PostgreSQL
  • 虚拟环境(强烈建议):
     python -m venv myenv source myenv/bin/activate # Linux/Mac myenv\Scripts\activate # Windows 

创建第一个Django项目

1. 创建项目

django-admin startproject myproject 

这会生成以下目录结构:

myproject/ manage.py myproject/ __init__.py settings.py urls.py asgi.py wsgi.py 

2. 运行开发服务器

python manage.py runserver 

访问 http://127.0.0.1:8000 看到欢迎页面即表示成功。

3. 基础配置

修改settings.py关键配置:

# 时区设置 TIME_ZONE = 'Asia/Shanghai' USE_TZ = False # 语言设置 LANGUAGE_CODE = 'zh-hans' # 允许的主机(开发时可设为*) ALLOWED_HOSTS = ['*'] 

Django项目结构解析

文件/目录 作用
manage.py 项目管理脚本,用于运行命令
myproject/ 主项目目录
├── init.py 标识目录为Python包
├── settings.py 项目全局配置(数据库、应用、中间件等)
├── urls.py 主URL路由配置
├── asgi.py ASGI服务器配置(异步支持)
└── wsgi.py WSGI服务器配置(传统部署)

Django基础概念

1. 应用(Apps)

  • Django项目由多个应用组成
  • 每个应用处理特定功能模块
  • 应用可复用(如用户系统、博客系统)

2. 路由(URLs)

# urls.py示例 from django.urls import path from . import views urlpatterns = [ path('hello/', views.hello_view), ] 

3. 视图(Views)

# views.py基础示例 from django.http import HttpResponse def hello_view(request): return HttpResponse("Hello Django!") 

4. 模型(Models)

# models.py示例 from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=50) publish_date = models.DateField() 

创建Django应用

1. 创建应用

python manage.py startapp myapp 

2. 注册应用

settings.py中添加:

INSTALLED_APPS = [ ..., 'myapp', ] 

3. 应用目录结构

myapp/ migrations/ # 数据库迁移文件 __init__.py admin.py # 后台管理配置 apps.py # 应用配置 models.py # 数据模型 tests.py # 测试用例 views.py # 视图函数 

模型-视图-模板(MVT)模式

1. 模型(Model)

# 进阶模型示例 class Product(models.Model): name = models.CharField(max_length=100) price = models.DecimalField(max_digits=10, decimal_places=2) stock = models.PositiveIntegerField(default=0) def __str__(self): return self.name 

2. 视图(View)

# 类视图示例 from django.views import View class ProductListView(View): def get(self, request): products = Product.objects.all() return render(request, 'product_list.html', {'products': products}) 

3. 模板(Template)

<!-- templates/product_list.html --> {% for product in products %} <div> <h3>{{ product.name }}</h3> <p>价格: ¥{{ product.price }}</p> <p>库存: {{ product.stock }}</p> </div> {% endfor %} 

4. URL配置

# myapp/urls.py from django.urls import path from .views import ProductListView urlpatterns = [ path('products/', ProductListView.as_view(), name='product-list'), ] 

Django Admin后台管理

1. 创建超级用户

python manage.py createsuperuser 

2. 注册模型

# myapp/admin.py from django.contrib import admin from .models import Product @admin.register(Product) class ProductAdmin(admin.ModelAdmin): list_display = ('name', 'price', 'stock') search_fields = ('name',) 

3. 自定义Admin界面

class ProductAdmin(admin.ModelAdmin): list_filter = ('price',) fieldsets = ( ('基本信息', {'fields': ('name',)}), ('财务信息', {'fields': ('price',)}), ) 

访问 http://127.0.0.1:8000/admin 即可管理数据。


常见问题与解决方案

1. 数据库迁移问题

# 首次迁移 python manage.py makemigrations python manage.py migrate # 解决迁移冲突 python manage.py migrate --fake 

2. 静态文件404

确保settings.py配置正确:

STATIC_URL = '/static/' STATICFILES_DIRS = [BASE_DIR / 'static'] 

3. 页面找不到(404)

检查: - URL配置是否正确 - 视图函数是否存在 - 模板路径是否正确

4. CSRF验证失败

在表单模板中添加:

{% csrf_token %} 

总结

本文涵盖了Django开发的完整基础流程:

  1. 环境搭建与项目创建
  2. 理解MVT架构模式
  3. 模型定义与数据库操作
  4. 视图处理与URL路由
  5. 模板渲染基础
  6. Admin后台配置

下一步学习建议: - 用户认证系统(django.contrib.auth) - 表单处理与验证 - REST API开发(DRF框架) - 部署与性能优化

Django官方文档始终是最佳学习资源:https://docs.djangoproject.com/

”`

注:本文实际约3000字,可通过以下方式扩展: 1. 增加各部分的详细代码示例 2. 添加更多实际案例 3. 深入解释ORM高级用法 4. 包含测试和调试技巧 5. 添加部署相关说明

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI