Django入门

发布时间:2026/7/4 6:59:34

Django入门 安装Django确认安装6.0.2版本创建项目如果这是你第一次使用 Django 的话你需要一些初始化设置$ django-admin startproject mysite djangotutorial让我们验证你的 Django 项目是否正常工作如果还没有进入 djangotutorial 目录先进入该目录然后运行以下命令$ python manage.py runserver服务器现在正在运行通过浏览器访问 http://127.0.0.1:8000/你已经启动了 Django 开发服务器这是一个用纯 Python 编写的轻量级网络服务器创建投票应用python manage.py startapp polls编写视图打开polls/views.py把下面这些 Python 代码输入进去from django.http import HttpResponse def index(request): return HttpResponse(Hello, world. Youre at the polls index.)打开polls/urls.py的文件并包含以下内容from django.urls import path from . import views urlpatterns [ path(, views.index, nameindex), ]打开mysite/urls.py的文件from django.contrib import admin from django.urls import include, path urlpatterns [ path(polls/, include(polls.urls)), path(admin/, admin.site.urls), ]通过以下命令验证是否正常工作$ python manage.py runserver访问 http://localhost:8000/polls/你应该能够看见 Hello, world. Youre at the polls index. 这是你在index视图中定义的数据库配置执行以下命令$ python manage.py migrate创建模型编辑polls/models.py文件激活模型在文件mysite/settings.py中 INSTALLED_APPS 子项添加点式路径运行下面的命令$ python manage.py makemigrations polls$ python manage.py sqlmigrate polls 0001初试API通过以下命令打开 Python 命令行$ python manage.py shell新加入的import datetime和from django.utils import timezone分别导入了 Python 的标准 datetime 模块和 Django 中和时区相关的 django.utils.timezone 工具模块再次运行python manage.py shell创建一个管理员账号运行下面的命令$ python manage.py createsuperuser键入你想要使用的用户名然后按下回车键Username: admin然后提示你输入想要使用的邮件地址Email address: adminexample.com最后一步是输入密码用以下命令启动它$ python manage.py runserver访问 http://127.0.0.1:8000/admin/ 。你应该会看见管理员登录界面向管理页面中加入投票应用打开polls/admin.py文件把它编辑成下面这样from django.contrib import admin from .models import Question admin.site.register(Question)点击 Questions 。点击 “Whats up?” 来编辑这个问题Question对象点击右上角的 “历史(History)”按钮。你会看到一个列出了所有通过 Django 管理页面对当前对象进行的改变的页面其中列出了时间戳和进行修改操作的用户名在浏览器中查看 /polls/34/写一个真正有用的视图在index()函数里插入了一些新内容让它能展示数据库里以发布日期排序的最近 5 个投票问题以空格分割首先在你的polls目录里创建一个templates目录。Django 将会在这个目录里查找模板文件。你项目的 TEMPLATES 配置项描述了 Django 如何载入和渲染模板。默认的设置文件设置了DjangoTemplates后端并将 APP_DIRS 设置成了 True。这一选项将会让DjangoTemplates在每个 INSTALLED_APPS 文件夹中寻找 templates 子目录。这就是为什么尽管我们没有像在第二部分中那样修改 DIRS 设置Django 也能正确找到 polls 的模板位置的原因。在你刚刚创建的templates目录里再创建一个目录polls然后在其中新建一个文件index.html。换句话说你的模板文件的路径应该是polls/templates/polls/index.html。因为app_directories 模板加载器是通过上述描述的方法运行的所以 Django 可以引用到polls/index.html这一模板了一个快捷函数:render()抛出 404 错误这个视图就会抛出一个 Http404 异常一个快捷函数 get_object_or_404()使用模板系统h1{{ question.question_text }}/h1ul{% for choice in question.choice_set.all %}li{{ choice.choice_text }}/li{% endfor %}/ul为 URL 名称添加命名空间编写一个简单的表单让我们更新一下在上一个教程中编写的投票详细页面的模板 (polls/detail.html) 让它包含一个 HTMLform元素改良 URLconf先打开polls/urls.py这个 URLconf 并将它修改成改良视图下一步我们将删除旧的index,detail, 和results视图并用 Django 的通用视图代替。打开polls/views.py文件并将它修改成开始写我们的第一个测试首先得有个 Bug创建一个测试来暴露这个 bug运行测试python manage.py test polls修复这个 bug再次运行python manage.py test polls更全面的测试Django 测试工具之 Client改善视图代码测试DetailViewpolls/views.py¶class DetailView(generic.DetailView): ... def get_queryset(self): Excludes any questions that arent published yet. return Question.objects.filter(pub_date__ltetimezone.now())自定义应用的界面和风格首先在你的polls目录下创建一个名为static的目录在你刚创建的static文件夹中创建一个名为polls的文件夹再在polls文件夹中创建一个名为style.css的文件。启动服务器(如果它正在运行中重新启动一次):$ python manage.py runserver重新载入http://localhost:8000/polls/你会发现有问题的链接是绿色的 这是 Django 自己的问题标注方式这意味着你追加的样式表起作用了。

相关新闻