Django 开发教程(一)

本文详细介绍了如何安装Django,创建项目及其目录结构,包括APP的使用、URL路由、视图函数、模板语法以及静态文件管理。还涵盖了基础设置如注册APP和模板中的条件语句。
摘要由CSDN通过智能技术生成

初识Django

1. 安装django

pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple

django安装后的目录结构:

c:\python310
	- python.exe
	- Scripts
		- pip.exe
		- django-admin.exe #工具,创建django项目
	- Lib
		- 内置模块
		- site-packages
			- openpyxl
			- python-docx
			- flask
			- django       #框架的源码

2. 创建Djiango项目

django中项目会有一些默认的文件和默认文件夹

2.1 在终端

  • 打开终端

  • 进入某个目录(指定需要创建的目录)、

    E:\> cd .\python_web\demo_django\
    
  • 执行django的创建命令

    django-admin.exe startproject 项目名
    
  • 创建成功后的目录结构如下:

    mysite
    	- mysite
        	- __init__.py
            - asgi.py
            - settings.py
            - urls.py
            - wsgi.py
       	- manage.py
    

2.2 Pycharm

注意, python解释器目录和项目目录
  • 使用pycharm企业版

  • 直接在菜单中创建 Django菜单进行创建

  • 通过命令行创建的是标准的,但是pycharm创建的,会增加一些新的目录 templates目录, 在settings.py里添加了写数据

    TEMPLATES = [
        'DIRS':[os.path.join(BASE_DIR, 'templates')]
    ]
    

2.3 默认创建项目的文件介绍

mysite
	- mysite
    	- __init__.py
        - asgi.py		# 接受网络请求(异步) 
        - settings.py	# 项目配置文件, 配置数据库,密码,注册app等.
        - urls.py		# URL路径和函数的对应关系
        - wsgi.py   	# 接受网络请求(同步)
   	- manage.py			# 项目管理,启动项目,创建app, 数据管理

3. APP

-项目
 	- app 用户管理 [表结构,函数,HTML模板, CSS]
 	- app 订单管理 [表结构,函数,HTML模板, CSS]
 	- app 后台管理 [表结构,函数,HTML模板, CSS]
 	- app 网站
 	- app API
  • 创建一个app

    python manage.py startapp app01
    python manage.py startapp app02
    
  • app的文件结构

    --app01
    	- __init__.py
        - admin.py   # django后台提供admin后台管理
        - apps.py	 # app启动类	
        - migratioins # 数据库变更记录
        	- __init__.py
        - models.py  # 【重要】, 对数据库进行操作
        - tests.py   # 单元测试
        - views.py   # 【重要】, url定义执行的函数
        
    

4. 快速上手

4.1 app注册

在settings.py中配置需要注册的app

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config'
]

4.2 编写url和 试图函数的对应关系

urls.py

from django.contrib import admin
from django.urls import path

from app01 import views

urlpatterns = [
    #path('admin/', admin.site.urls),
    path('index/', views.index)
]

4.3 编写视图函数

views.py

from django.shortcuts import render

# Create your views here.

def index(request):    # 响应试图函数必须有个request参数
    return HttpResponse("欢迎使用")

4.4 启动djiango项目

  • 通过命令行启动

    python manage.py runserver
    
  • pycharm启动

    点击 启动按钮 进行启动

4.5 模板使用

views.py

def user_list(request):
    # 默认会去app目录下,寻找templates目录,再在这个目录中查询user_list.html这个文件
    # 如果跟目录下有user_list.html, 也只会在app里查找,如果需要使用根目录的,则需要更改settings里的配置
	return render(request, "user_list.html")

当前app目录下,创建一个templates目录

4.6 静态文件

静态文件必须在当前的app目录下面的static目录

静态文件包含js, css, image等资源

  • 在app目录下创建static目录
  • 在html中, 顶部执行 {% load static %}
  • 使用 “{% static ‘/css/sss.css’ %}”
{% load static %}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{% static 'plugins/bootstrap/css/bootstrap.css' %}">
</head>
<body>
    <h1>用户登陆</h1>

    <input type="text" class="btn btn-primary" value="新建"/>

    <img src="/static/img/11.jpg" alt=""/>
    <script src="{% static 'js/jquery-3.7.1.min.js'}"></script>
    <script src="{% static 'plugins/bootstrap/js/bootstrap.js'} %"></script>
</body>
</html>

5. 模板语法

本质上, 在html中写一些占位符, 由数据进行替代和处理

5.1 普通变量的传递

name="自定义标题1"
return render(request, "tpl.html", {"n1":name})
<div>{{n1}}</div>

5.2 数组的传递

roles = ["张三","李四","王五"]
return render(request, "tpl.html", {"roles":roles})

数组遍历

    <table>
        <thead>
            <tr>
            <th>id</th>
            <th>姓名</th>
            </tr>
        </thead>
        <tbody>
            {% for item in roles %}
                <tr>
                <td>1</td>
                <td>{{item}}</td>
                </tr>
            {% endfor %}
        </tbody>
    </table>

直接取数组元素

    <div>
        <span>{{roles.0}}</span>
        <span>{{roles.1}}</span>
        <span>{{roles.2}}</span>
    </div>

5.3 字典的传递

userinfo = {"name":"bell","exp":1000, "lv":25 }
return render(request, "tpl.html", {"user":userinfo})
    <div>
        <div>{{user.name}}</div>
        <div>{{user.lv}}</div>
    </div>

字典用for进行循环

    <!--字典也可以 for循环-->
    <ul>
    {% for item in user.keys %}
        <li> {{item}} </li>
    {% endfor %}
    </ul>

    <ul>
    {% for k, v in user.items %}
        <li> {{k}} = {{v}} </li>
    {% endfor %}
    </ul>

5.4 列表套字典

    user_list = [
        {"name":"zs", "age":23,"score":100},
        {"name":"ls", "age":23,"score":100},
        {"name":"ww", "age":23,"score":100},
    ]
    return render(request, "tpl.html", {"user_list":user_list})
    <!--列表里套字典 user_list.0.name, user_list.1.age-->
    <ul>
    {% for item in user_list %}
        <li> {{item.name}} {{item.age}} {{item.score}} </li>
    {% endfor %}
    </ul>

5.5 模板中的条件语句

    <!--模板中条件语句-->
    {% if n1 == "自定义标题" %}
        <a>aaaa</a>
    {% elif n1 == "新" %}
        <a>bbbb</a>
    {% else %}
        <a>cccc</a>
    {% endif %}
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在PyCharm中创建和运行Django项目的步骤如下: 1. 打开PyCharm并创建一个新项目。点击"File",然后选择"New Project"。 2. 在弹出的对话框中,选择"Django"作为项目类型,并在右侧的"Location"中为项目命名。 3. 在创建项目后,打开终端。你可以右键点击项目名称,选择"Open In Terminal",或者手动打开终端。 4. 在终端中,输入以下命令来启动Django项目:`python manage.py runserver`。默认情况下,项目将在端口号8000上运行。如果你想指定端口号,可以使用`python manage.py runserver 端口号`的形式。如果你还想指定IP地址,可以使用`python manage.py runserver IP:端口号`的形式。 5. 在浏览器中输入`http://localhost:8000`(或者你指定的IP和端口号),你应该能够看到Django项目的欢迎页面。 另外,如果你想在Django项目中创建一个新的app,可以按照以下步骤进行: 1. 在Django项目目录下打开终端。 2. 在终端中,输入以下命令来创建一个新的app:`python manage.py startapp app名称`。 这样就可以在Django项目中创建一个新的app了。希望这些信息对你有帮助!\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [初学者用pycharm创建一个django项目和一个app时需要注意的事项](https://blog.csdn.net/weixin_42625143/article/details/96299819)[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^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值