# Python Django项目和应用的创建方法是什么 Django作为Python最流行的Web框架之一,以其"开箱即用"的特性广受开发者欢迎。本文将详细介绍从环境准备到项目创建的完整流程,并深入解析Django的目录结构和工作原理。 ## 一、环境准备 ### 1. Python环境安装 Django需要Python 3.6及以上版本,推荐使用最新稳定版: ```bash # 检查Python版本 python --version # 或 python3 --version
如果未安装Python,可从官网下载对应系统的安装包。
强烈建议使用虚拟环境隔离项目依赖:
# 创建虚拟环境 python -m venv myenv # 激活虚拟环境 # Windows: myenv\Scripts\activate # Linux/MacOS: source myenv/bin/activate
在激活的虚拟环境中执行:
pip install django # 验证安装 python -m django --version
使用django-admin命令行工具:
django-admin startproject myproject
这将生成如下目录结构:
myproject/ manage.py myproject/ __init__.py settings.py urls.py asgi.py wsgi.py
manage.py
:项目管理脚本settings.py
:项目配置文件urls.py
:URL路由配置wsgi.py
:WSGI兼容Web服务器入口测试项目是否创建成功:
python manage.py runserver
访问http://127.0.0.1:8000/应看到Django欢迎页面。
Django采用”项目-应用”架构: - 项目(Project):整体网站的容器 - 应用(App):实现特定功能的模块
在项目目录下执行:
python manage.py startapp myapp
生成的应用目录结构:
myapp/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py
在settings.py
中添加到INSTALLED_APPS
:
INSTALLED_APPS = [ ... 'myapp.apps.MyappConfig', ]
默认使用SQLite,可在settings.py
中修改:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'mydatabase', 'USER': 'mydatabaseuser', 'PASSWORD': 'mypassword', 'HOST': '127.0.0.1', 'PORT': '5432', } }
LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True USE_TZ = False
STATIC_URL = '/static/' STATICFILES_DIRS = [BASE_DIR / "static"]
编辑myapp/views.py
:
from django.http import HttpResponse def home(request): return HttpResponse("欢迎来到我的Django网站!")
在应用目录创建urls.py
:
from django.urls import path from . import views urlpatterns = [ path('', views.home, name='home'), ]
在项目urls.py
中包含应用路由:
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('', include('myapp.urls')), ]
Django自带用户认证等模型,需要先迁移:
python manage.py migrate
python manage.py createsuperuser
推荐的项目组织方式:
myproject/ manage.py requirements.txt .gitignore myproject/ __init__.py settings/ __init__.py base.py development.py production.py urls.py wsgi.py myapp/ templates/ myapp/ base.html index.html static/ myapp/ css/ js/ images/ __init__.py admin.py apps.py models.py urls.py views.py static/ media/
命令 | 作用 |
---|---|
python manage.py runserver | 启动开发服务器 |
python manage.py startapp | 创建新应用 |
python manage.py makemigrations | 创建模型迁移文件 |
python manage.py migrate | 应用数据库迁移 |
python manage.py createsuperuser | 创建管理员账号 |
python manage.py collectstatic | 收集静态文件 |
创建production.py
设置文件:
from .base import * DEBUG = False ALLOWED_HOSTS = ['yourdomain.com', 'www.yourdomain.com']
pip install gunicorn psycopg2-binary pip freeze > requirements.txt
端口冲突:
python manage.py runserver 8080
静态文件404: 确保DEBUG=True
时能访问静态文件
数据库连接错误: 检查settings.py
中的数据库配置
通过以上步骤,您已经掌握了Django项目和应用的创建方法。建议从简单项目开始,逐步深入理解Django的MTV架构和工作原理。 “`
这篇文章包含了从环境准备到项目部署的完整流程,采用Markdown格式,字数约1700字左右,按照技术文档的规范结构组织内容,并使用了代码块、表格等Markdown元素增强可读性。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。