【Django入门与实践】课程系列第2篇

四、创建项目及应用

  1. 本节大纲

  2. 创建项目步骤
    1)打开命令行,进入想要安置项目的目录
    2)命令行输入:django-admin startproject myblog(myblog是项目名称)
    3)若没有报错,则创建项目成功
  3. 用编译器打开该项目工程
  4. 项目目录结构

    1)manage.py:与项目进行交互的命令行工具集的入口,即项目管理器,执行python manage.py来查看所有命令,执行runserver启动服务器
    2)默认启动端口号是8000,自定义启动端口的方法:python manage.py runserver 9999
    3)myblog目录:
    项目的一个容器
    包含项目最基本的一些配置
    目录名称不建议修改
    4)wsgi.py:
    WSGI(Python Web Server Gateway Interface),即Python服务器网关接口
    Python应用与Web服务器之间的接口
    5)urls.py
    URL配置文件
    Django项目中所有地址(页面)都需要我们自己去配置其URL
    6) settings.py
    项目的总配置文件
    里面包含了数据库、Web应用、时间等各种配置
//项目的根目录
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

//安全码
SECRET_KEY

//调试开关
DEBUG = True

//只允许通过该列表访问网站,其他地址将被屏蔽
ALLOWED_HOSTS = []

//已安装的应用,Django由许多应用生成,自己创建的应用,应写入这个列表
INSTALLED_APPS

//中间件,Django自带的工具集
MIDDLEWARE

//URL根文件,指向的就是urls.py
ROOT_URLCONF

//模板的配置,Django中模板就是一个个的html文件
TEMPLATES

//数据库配置
DATABASES

//密码认证
AUTH_PASSWORD_VALIDATORS

//默认是英语
LANGUAGE_CODE = ‘en-us‘

// 静态文件的地址
STATIC_URL = ‘/static/‘

7) init.py
Python中声明模块的文件,内容默认为空

  1. 创建应用,并了解应用目录下各文件的作用,同时创建第一个页面响应
    1)创建步骤:
    a. 打开命令行,进入项目中manage.py同级目录
    b. 命令行输入:python manage.py startapp blog(创建名为blog的应用)
    c. 添加应用名到settings.py中的INSTALLED_APPS里
    d. 自己创建的应用名不能和python中自带的应用名重复
    2)目录结构:

    migrations:数据移植(迁移)模块,内容自动生成
    admin.py:当前应用的后台管理系统配置
    apps.py:当前应用的一些配置,Django-1.9以后版本自动生成
    models.py:数据模块,使用ORM框架,类似于MVC结构中的Models(模型)
    tests.py:自动化测试模块,Django提供了自动化测试功能,在这里编写测试脚本语句
    views.py:执行响应的代码所在模块,代码逻辑处理的主要地点,项目中大部分代码均在这里编写
    3)创建第一个页面(响应)
    a. 编辑blog.views文件:每个响应对应一个函数,函数必须返回一个响应
    b. 函数必须存在一个参数,一般约定为request
    c. 每个响应(函数)对应一个URL
    4)编辑urls.py:
    每个URL都以url的形式写出来
    url函数放在urlpattern列表中
    url函数三个参数:URL(正则),对应方法,名称

小结:常用命令集合
django-admin 查看所有命令
django-admin startproject 创建项目
python manage.py runserver 8000 以8000端口启动服务
python manage.py startapp blog 创建名为blog的应用

关注本人微信公众号,更快获得文章:

原文地址:https://blog.51cto.com/apinetree/2403969

时间: 2024-08-30 16:10:24

【Django入门与实践】课程系列第2篇的相关文章

Django入门与实践 17-26章总结

Django入门与实践-第17章:保护视图 Django 有一个内置的视图装饰器 来避免它被未登录的用户访问: 现在如果用户没有登录,将被重定向到登录页面: 现在尝试登录,登录成功后,应用程序会跳转到原来所在的位置. Django入门与实践-第18章:访问已登录用户 现在我么可以改进 new_topic 视图,将发布主题的用户设置当前登录的用户,取代之前直接从数据库查询出来的第一个用户, 之前这份代码是临时的,因为那时候还没有方法去获取登录用户,但是现在可以了: 有两个关键字参数,pk用于唯一标

【Django入门与实践】课程系列第1篇

一.课程知识要求1.掌握Python语言2.了解HTML语言3.了解浏览器上网的基本原理 二.课前准备1.什么是Django1)Django官网地址:www.djangoproject.com2)Django是一个基于Python的高级Web开发框架3)它能够让开发人员进行高效且快速的开发4)高度集成(不用自己造轮子),免费并且开源 2.知识补充1)正常上网流程:2)浏览器浏览网页的基本原理a. 本质是网络通信,即通过网络进行数据传递b. 浏览器经过通信后获取到该页面的源代码文档(HTML等)c

Django入门与实践 1-16章总结

注意事项:随时备份.随时记录.从宏观到微观 不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之:学至于行之止矣 安装 Python 3.6.2 pip install django==1.11.4 django-admin startproject myproject python manage.py runserver http://127.0.0.1:8000 使用组合键 Control + C 来终止开发服务器. django-admin startapp boards setting

Django入门与实践-第12章:复用模板(完结)

http://127.0.0.1:8000/http://127.0.0.1:8000/boards/1/http://127.0.0.1:8000/boards/2/http://127.0.0.1:8000/boards/3/ <!--static/css/app.css--> .navbar-brand { font-family: 'Peralta', cursive; } <!--templates/base.html--> {% load static %}<!D

Django入门与实践-第20章:QuerySets(查询结果集)(完结)

http://127.0.0.1:8000/boards/1/ #boards/models.py from django.utils.text import Truncator class Topic(models.Model): # ... def __str__(self): return self.subject class Post(models.Model): # ... def __str__(self): truncated_message = Truncator(self.me

django入门与实践 - 关于升级到django 3.7,三种模板超链接配置(编辑中)

第一种方法: 在myblog/urls.py模块中: from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('blog1/', include(('blog1.urls', 'a'), namespace='blogg')), #'a'可以为任意字符,但不能为空 ] myblog/urls.py 在bl

django入门与实践(续)

完善博客 博客页面设计 页面概要 1.博客主页面 主页面内容 文章标题列表,超链接 发表博客按钮(超链接) 列表编写思路 取出数据库中所有文章对象 将文章对象们打包成列表,传递到前端 前端页面把文章以标题超链接的形式逐个列出 模板for循环 {% for XX in XXS %} HTML语句 {% endfor %} *模板中调用对象或者说展示数据用的两对花括号,这里是一对花括号中加了两个百分号 2.博客文章内容页面 页面内容 标题 文章内容 修改文章按钮(超链接) 页面的编写过程 关键点:u

Django入门与实践-第21章:迁移(完结)

http://127.0.0.1:8000/boards/1/ python manage.py migrate #boards/models.py class Topic(models.Model): views = models.PositiveIntegerField(default=0) # <- here python manage.py makemigrations python manage.py migrate #boards/views.py def topic_posts(r

Django入门与实践-第19章:主题回复(完结)

http://127.0.0.1:8000/boards/1/topics/1/reply/ http://127.0.0.1:8000/boards/1/topics/1/ #myproject/urls.py url(r'^boards/(?P<pk>\d+)/topics/(?P<topic_pk>\d+)/reply/$',views.reply_topic, name='reply_topic'), #boards/forms.py from .models import