Django项目的典型文件结构如下:
myproject/
├── myproject/
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ ├── wsgi.py
│ └── asgi.py
├── manage.py
└── myapp/
├── __init__.py
├── admin.py
├── apps.py
├── models.py
├── migrations/
│ ├── __init__.py
│ └── 0001_initial.py
├── tests.py
├── views.py
└── templates/
└── myapp/
└── index.html
下面是一个基于此结构的简单案例:
创建项目:
django-admin startproject myproject
创建应用:
cd myproject
python manage.py startapp myapp
配置项目: 编辑myproject/settings.py文件,设置数据库、安装应用等。
定义模型: 在myapp/models.py中定义数据模型。
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
创建迁移并应用:
python manage.py makemigrations myapp
python manage.py migrate
定义视图: 在myapp/views.py中创建视图函数或类。
from django.shortcuts import render
from .models import Post
def home(request):
posts = Post.objects.all()
return render(request, 'myapp/index.html', {'posts': posts})
配置URL路由: 编辑myproject/urls.py文件,将URL映射到视图。
from django.urls import path
from myapp import views
urlpatterns = [
path('', views.home, name='home'),
]
创建模板: 在myapp/templates/myapp/index.html中创建HTML模板。
My Blog
Posts
{% for post in posts %}
{{ post.title }}
{{ post.content }}
{% endfor %}
注册模型到Admin后台: 在myapp/admin.py中注册模型。
from django.contrib import admin
from .models import Post
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
list_display = ('title', 'created_at', 'updated_at')
运行开发服务器:
python manage.py runserver
现在,当你访问 http://127.0.0.1:8000/ 时,应该能看到所有的文章列表。这是一个基础的Django项目结构和案例,实际应用中可能会包含更多的文件和复杂的配置。
本文暂时没有评论,来添加一个吧(●'◡'●)