Python学习之【Django】

学习内容:

Django

学习时间:

2022/6/27 22:03


学习产出:

一、安装环境

1.安装Python环境:
https://www.python.org/downloads/

2.安装Anaconda:
https://www.anaconda.com/

3.安装Pycharm:
https://www.jetbrains.com/pycharm/download/

4.安装Django

pip install django==3.0
验证是否安装成功
django-admin
二、Django的基本命令

startproject #创建一个Django项目

starapp #创建一个Django应用

check #校验项目的完整性

runserver #本地简易运行Django项目

shell #进入Django项目的python shell环境

test #执行Django用例测试

以下为数据库相关:

makemigrations #创建模型变更的迁移文件

migrate #执行上一个命令创建的迁移文件

dumpdata #把数据库数据导出到文件

loaddata #把文件数据导入到数据库

三、创建django项目,并运行
django-admin startproject my_django
python manage.py runserver

如果报错

File "manage.py", line 17 from excs ^ SyntaxError: invalid syntax

说明运行环境有问题,修改如下配置:

在这里插入图片描述

四、创建应用
# app为应用名
python manage.py startapp app1
Django项目目录介绍
  • views.py:视图处理;
  • models.py:定义应用模型;
  • admin.py:定义Admin模块管理对象;
  • apps.py:声明应用;
  • tests.py:编写应用测试用例;
  • urls.py:自行创建(管理应用路由);
五、配置应用
  1. app1/views.py:
from django.http import HttpResponse
# 必须返回一个response对象
def hello_world(request):
    return HttpResponse('hello world')
  1. my_django/setting.py:
向INSTALLED_APPS列表中添加你的应用 app1.apps.App1Config
  1. 创建应用级路由页面app1/urls.py:
from django.urls import path
# 引入应用视图页面
import app1.views

urlpatterns = [
    path('hello_world', app1.views.hello_world)
]
  1. my_django/urls.py:
from django.urls import path, include

urlpatterns = [
    path('app1/', include('app1.urls')),
]
六、创建模型

app1/models.py:

from django.db import models

# 文章模型
class Article(models.Model):
    # 文章的唯一ID
    article_id = models.AutoField(primary_key=True)
    # 文章的标题
    title = models.TextField()
    # 文章的摘要
    brief_content = models.TextField()
    # 文章的主要内容
    content = models.TextField()
    # 文章的发布日期
    publish_date = models.DateTimeField(auto_now=True)

创建迁移文件:

python manage.py makemigrations

执行上一个命令创建的迁移文件:

python manage.py migrate 
七、Django Shell:
python manage.py shell
>>> from app1.models import Article
>>> a = Article()
>>> a.title = '我的第一篇博文'
>>> a.brief_content = '博文简介'
>>> a.content = '博文正文'
>>> print(a) #Article object (None)
>>> a.save()
>>> articles = Article.objects.all()
>>> article = articles[0]
>>> print(article.title) #我的第一篇博文

八、Admin模块
# 创建管理员用户
python manage.py createsuperuser
# 启动项目
python manage.py runserver
  • 登录后可以在图形化界面看见用Django Shell创建的第一篇博文。
  • 可以在图形化界面点击 ADD ARTICLE添加。
  • 标题默认为Article object(1)。
  • 想直接显示文章标题名,在modeles.py中Artilce类中重写__str__方法:
 def __str__(self):
        return self.title
九、实现数据返回

app1/views.py:

def article_content(request):
    article = Article.objects.all()[0]
    title = article.title
    brief_content = article.brief_content
    content = article.content
    article_id = article.article_id
    publish_date = article.publish_date
    return_str = 'title:%s, brief_content:%s, content:%s, ' \
                 'article_id: %s, publish_date:%s' % (title, brief_content, content, article_id, publish_date)
    return HttpResponse(return_str)

应用级路由,app1/urls.py中向urlpatterns追加:

path('content', app1.views.article_content)

访问http://127.0.0.1:8000/app1/content即可看到返回

十、Bootstrap实现静态页面

1.应用app1下新建文件夹templates/blog/index.html & detail.html, 头部引入cdn链接;

2.模版:

    {% for article in article_list %} <!--循环开头-->
        <h4>{{ article.title }}</h4> <!-- 变量双扩号-->
    {% endfor %} <!--循环结束->

3.article_list来自:views.py:

def get_index_page(request):
    all_article = Article.objects.all()
    return render(request, 'blog/index.html',{
        'article_list': all_article
    })

4.app1/urls增加:

path('index', app1.views.get_index_page)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django是一个高级的Python Web框架,它旨在实现简单快捷的网站开发,并且已经成为Python领域最有影响力的web开发框架之一。\[1\] 它由经验丰富的开发人员构建,鼓励快速开发和清洁、务实的设计。Django负责处理Web开发中的许多繁琐任务,使开发人员能够专注于编写应用程序,而无需重新发明轮子。它是免费且开源的,被官方称为完美主义者的Web框架。\[2\] 要安装Django,您可以按照快速安装指南进行操作。首先,确保您已经安装了Python。然后,可以使用pip命令在命令行中安装Django。例如,在命令行中运行以下命令:pip install django。这将自动下载并安装最新版本的Django。\[1\] 如果您想验证Django是否已被Python识别,可以在Python的shell中输入python。然后,在Python提示符下,尝试导入Django并打印其版本号。如果成功导入并打印出版本号,说明Django已经成功安装并可以被Python识别。\[3\] 对于新手入门Django,官方网站https://www.djangoproject.com/提供了详细的文档和教程,您可以在那里找到有关如何开始使用Django的信息。此外,还有许多在线教程和资源可供学习和探索。\[2\] #### 引用[.reference_title] - *1* *3* [Python开发-Django快速入门](https://blog.csdn.net/huidaoli/article/details/121607251)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [使用Python进行网站页面开发——Django框架介绍与安装](https://blog.csdn.net/weixin_63994459/article/details/125841782)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值