栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python学习之【Django】

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 %} 
        

{{ article.title }}

{% endfor %} 'article_list': all_article })

4.app1/urls增加:

path('index', app1.views.get_index_page)
暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1015401.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号