Django项目开发快速入门

这篇具有很好参考价值的文章主要介绍了Django项目开发快速入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

生成Django项目

  • 现在cmd中使用命令安装Django框架
pip install django==3.2
  • 使用命令生成项目
django-admin startproject DjStore
  • 使用命令生成应用
python .\manage.py startapp news
python .\manage.py startapp users

在项目的setting文件中注册
/DjStore/Djstore/setting.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    "news",
    "users"
]

编写module

/DjStore/news/models.py

"""
新闻表:
    ID:主键
    title:标题 字符串
    content:新闻内容 大文本
    b_data:新闻日期 日期
    read:阅读量 整数
模型类:必须继承 django.db.models.model类
"""


class NewsInfo(models.Model):
    title = models.CharField(max_length=30)
    content = models.TextField()
    b_date = models.DateTimeField()
    read = models.IntegerField()
  • 执行命名,生成mode
python .\manage.py makemigrations
Migrations for 'news':
  news\migrations\0001_initial.py
    - Create model NewsInfo
  • 生成对应的表结构
python .\manage.py migrate       
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, news, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying news.0001_initial... OK
  Applying sessions.0001_initial... OK

后台管理系统admin

/Djstore/news/admin.py

from django.contrib import admin
from .models import NewsInfo
# Register your models here.

admin.site.register(NewsInfo)
  • 启动项目
python .\manage.py runserver
  • 生成admin账号
python .\manage.py createsuperuser
account:qqg
password:123456
  • 网址:http://127.0.0.1:8000/admin/
    Django项目开发快速入门,Django项目开发,数据库,django,sqlite,python,后端

自定义管理页面

from django.contrib import admin
from .models import NewsInfo

# Register your models here.
# style1:直接显示
#admin.site.register(NewsInfo)


# style2:自定义显示
class NewsInfoAdmin(admin.ModelAdmin):
    list_display = ['id', 'title', 'b_date', 'read']


admin.site.register(NewsInfo, NewsInfoAdmin)
  • 进行对比
    Django项目开发快速入门,Django项目开发,数据库,django,sqlite,python,后端
    Django项目开发快速入门,Django项目开发,数据库,django,sqlite,python,后端

视图函数使用

/DjStore/news/view.py

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
"""
视图函数定义的基本要求:
    1、视图函数必须定义一个参数(通过命名为request)
        request参数:用来接受客户端的请求信息的
    2、视图函数的返回值必须是一个HttpResponse的对象(或者HttpResponse的子类对象)
"""
def index(request):
    res='this is a test'
    return HttpResponse(res)
  • 注册url
    /DjStore/DjStore/urls.py
from django.contrib import admin
from django.urls import path, include, re_path

urlpatterns = [
    path('admin/', admin.site.urls),
    re_path(r'^news/', include('news.urls'))
]

/DjStore/news/urls.py

from django.urls import path
from .views import index

# 配置路由规则
urlpatterns = [
    path('index', index)
]
  • 访问测试
    Django项目开发快速入门,Django项目开发,数据库,django,sqlite,python,后端
  • 使用测试
    /DjStore/news/urls.py
from django.urls import path
from .views import index,news_list

# 配置路由规则
urlpatterns = [
    path('index', index),
    path('list', news_list)
]

/DjStore/news/views.py

from django.shortcuts import render
from django.http import HttpResponse
from .models import NewsInfo

# Create your views here.
"""
视图函数定义的基本要求:
    1、视图函数必须定义一个参数(通过命名为request)
        request参数:用来接受客户端的请求信息的
    2、视图函数的返回值必须是一个HttpResponse的对象(或者HttpResponse的子类对象)
使用流程:
    1、在应用的views.py定义视图函数
    2、配置路由
        1)、在项目日录的UrLs,py中关联应用下的UrLs.py
        from django.contrib import admin
        from django.urls import path, include, re_path
        
        urlpatterns = [
            path('admin/', admin.site.urls),
            re_path(r'^news/', include('news.urls'))
        ]
        2)、在应用的目录下定义一个Urls.py文件(可以直接copy项目目录下的urls.py进来)
        3)、在应用的UrLs.py配置具体的访问规则
        from django.urls import path
        from .views import index
        
        # 配置路由规则
        urlpatterns = [
        # http://域名(ip:端口)/news/index
            path('index', index)
        ]
"""


def index(request):
    res = 'this is a test'
    return HttpResponse(res)


def news_list(request):
    datas = NewsInfo.objects.all()
    result = ''
    for item in datas:
        title = '<h1>{}</h1>'.format(item.title)
        result += title
    return HttpResponse(result)

Django项目开发快速入门,Django项目开发,数据库,django,sqlite,python,后端

Django模板

  • 创建目录/templates/news与/templates/users
  • 在/DjStore/DjStore/setting.py中设置
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        # 项目模板的路径
        'DIRS': [BASE_DIR / 'templates'],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
  • /templates/news下,创建list.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>新闻列表页面</title>
</head>
<body>
    <h1 style="color: red">新闻列表页面</h1>
    <ul>
        <li>python</li>
        <li>java</li>
        <li>js</li>
    </ul>
</body>
</html>
  • /DjStore/news/urls.py
from django.urls import path
from .views import index, news_list, list2

# 配置路由规则
urlpatterns = [
    path('index', index),
    path('list', news_list),
    path('list2', list2)
]
  • /DjStore/news/views.py
from django.shortcuts import render
from django.http import HttpResponse
from .models import NewsInfo

# Create your views here.
"""
def index(request):
    res = 'this is a test'
    return HttpResponse(res)
    
def news_list(request):
    datas = NewsInfo.objects.all()
    result = ''
    for item in datas:
        title = '<h1>{}</h1>'.format(item.title)
        result += title
    return HttpResponse(result)

# 视图中使用模板文件
def list2(request):
    return render(request, 'news/list.html')
  • 访问测试
    Django项目开发快速入门,Django项目开发,数据库,django,sqlite,python,后端

  • 模板配置和使用规则

    1. 在项目目录下创建一个templates文件夹
    2. 在setting.py中TEMPLATES:选项中配置项目模板的根路径
      ‘DIRS’[BASE_DIR ‘templates’]
    3. 在templates中创建和应用同名的文件夹
    4. 在templates下应用同名的文件夹中创建html模板页面
    5. 在views.py中定义视图函数,并返回html模板页面
    6. 配置路由访问规则
  • 模板使用

  • /DjStore/news/views.py

# 视图中使用模板文件
def list2(request):
    datas = NewsInfo.objects.all()
    item = datas[0]
    info = {
        "title": item.title,
        "content": item.content,
        "b_date": item.b_date,
        "read": item.read
    }
    return render(request, 'news/list.html', info)
  • /templates/news/list.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>新闻列表页面</title>
</head>
<body>
    <h1 style="color: red">{{ title }}</h1>
    <h4>发布日期:{{ b_date }},阅读量:{{ read }}</h4>
    <pre>{{ content }}</pre>
</body>
</html>

Django项目开发快速入门,Django项目开发,数据库,django,sqlite,python,后端文章来源地址https://www.toymoban.com/news/detail-601169.html

到了这里,关于Django项目开发快速入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 企业级开发项目实战——基于RabbitMQ实现数据库、elasticsearch的数据同步

    1、商品上架时:search-service新增商品到elasticsearch 2、商品下架时:search-service删除elasticsearch中的商品 数据同步是希望,当我们商品修改了数据库中的商品信息,索引库中的信息也会跟着改。在微服务中数据库和索引库是在两个不同的服务中。如果,商品的服务,向es的服务中

    2024年02月12日
    浏览(65)
  • 软件开发项目文档系列之八数据库设计说明书

    数据库设计说明书是一个关键文档,它提供了有关数据库的详细信息,包括设计、结构、运行环境、数据安全、管理和维护等方面的内容。 引言部分,简要介绍数据库设计说明书的目的和内容。这部分通常包括以下内容: 引言的目的:解释为什么需要数据库设计说明书,它

    2024年02月06日
    浏览(63)
  • java碳排放数据信息管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

    一、源码特点     java Web碳排放数据信息管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环 境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 java Web碳排放数据信

    2024年01月22日
    浏览(50)
  • Django 实战开发(一)项目搭建

    用pycharm 编辑器可以直接 New 一个 Django 项目 项目结构如下: /demo/views: /djangoProject/urls: /demo/urls: /djangoProject/settings.py /demo/models 执行下面命令 pip install pymysql python manage.py makemigrations 执行上面这个会报错 ModuleNotFoundError: No module named ‘MySQLdb’ 需要在项目的 init.py 文件里面指定使

    2024年02月08日
    浏览(42)
  • Django项目涉及微服务开发

    0、django的orm原理 https://www.cnblogs.com/wwbplus/p/11760866.html 1、Pandas库 Pandas是基于Numpy的专业数据分析工具, 可以灵活高效的处理各种数据集 它提供了的数据结构有DataFrame和Series等 我们可以简单粗的把DataFrame理解为Excel里面的一张表,而Series就是表中的某一列 学习 Python 之 Pandas库

    2023年04月17日
    浏览(31)
  • PHP 房产网站系统Dreamweaver开发mysql数据库web结构php编程计算机网页项目

    一、源码特点     PHP 房产网站系统是一套完善的WEB设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 源码 https://download.csdn.net/download/qq_41221322/88233553 论文 https://download.csdn.net/download/qq_41221322/88233555 PHP 房产网站系统Drea

    2024年02月12日
    浏览(52)
  • java 宠物医院系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

    一、源码特点     java 宠物医院系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 java Web 宠物医院管理系统1 下载地

    2024年02月20日
    浏览(42)
  • jsp 图书销售系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

    一、源码特点      JSP 图书销售系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 jsp 图书销售系统Myeclipse开发mys

    2024年02月11日
    浏览(46)
  • java生态环境评价Myeclipse开发mysql数据库web结构java编程计算机网页项目

    一、源码特点     java 生态环境评价管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 java web 生态环境评价系

    2024年02月19日
    浏览(40)
  • Django web 开发(四) - Django项目实践(四)-用户管理

    向用户数据表中插入几行数据方便后面进行测试 修改 myproject/myproject/urls.py 修改 myproject/employee_management/views.py 新建 myproject/employee_management/templates/user_list.html 注意: HTML 中获取数据的方式与 Python 中有些不同 例如: 1.HTML中引入函数不能带括号, obj.get_gender_display() 2.日期类型转字

    2023年04月22日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包