Django 入门学习总结2 创建一个投票系统

通过学习,我们可以实现一个简单的投票系统。这个投票系统有两部分组成。

  • 公共部分,公众可以查看和进行投票。
  • 管理员可以进行增加、删除、修改投票信息。

这里投票系统Python语言版本为3.10.13,Django Web框架版本为4.2.7。

投票系统的实现:

在磁盘的根目录下创建一个文件夹,如django(这个可以根据自己的需要决定投票系统存入在哪个位置)。

浏览到这个文件夹位置,在地址栏中输入cmd命令,进入到命令行提示符下,输入:

django-admin startproject mysite

创建mysite工程。mysite工程中将包含公众投票内容和管理页面,如下图所示。

注意命名上不要有命名冲突,有些是保留字,如django,test等。

创建完成后,mysite的工程结构为:

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

上面工程结构各部分的含义为:

  • mysite代表工程名称
  • manage.py 用于在命令行中与mysite工程进行交互,实现各种功能。
  • 里面的mysite/ 是工程实际存放python包和文件的位置。
  • __init__.py 初始化文件。
  • settings.py代表Django工程的配置文件。
  • urls.py  包含了Django工程各个网页地址的定义。
  • 最后两个文件asgi.py和wsgi.py,与web 服务器有关。

进入到mysite文件夹下,输入:

python manage.py runserver

则可以启动web服务器,启动信息如下图所示。

这是一个Django 开发测试的服务器,注意不能在商业环境下使用。它是通过Python语言开发的轻量级的Web服务器。

在浏览器中输入网址http://127.0.0.1:8000,则可以看到以下的信息。

默认的端口号为8000,也可以在之前启动服务器中,在输入命令中:

python manage.py runserver 8080

来修改为其他的端口号,如8080。

在一个工程中,可 以包含多个应用,一个应用也可以在多个工程中。在manage.py同一个文件夹中,输入:

python manage.py startapp polls

则创建了一个polls投票系统应用。文件夹结构如下所示:

polls/
        __init__.py
        admin.py
        apps.py
        migrations/
            __init__.py
        models.py
        tests.py
        views.py

在polls/views.py文件中,修改内容为:

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

def index(request):
        return HttpResponse("Hello, world. You're at the polls index.")

在同样的位置下,新建一个文件urls.py,用于地址映射的配置。urls.py文件中的内容为:

from django.urls import path
from . import views

urlpatterns = [
    path("", views.index, name="index"),
]

在urlpatterns 中,path里面有四个参数。

  • 第一个为路由地址route,代表了地址模式匹配方式。
  • 第二个为视图,代表了地址相应的网页映射。
  • 第三和第四个为可选项。

在mysite/urls.py,修改文件内容为:

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

urlpatterns = [
    path("polls/", include("polls.urls")),
    path("admin/", admin.site.urls),
]

这样就建立了polls应用的映射,可以在网页的地址栏中,输入相关的地址,看到和polls应用相关的网页信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/197333.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git修改commit历史提交时间、作者

1、修改最近的几条记录,进入提交记录列表,修改提交记录模式 git rebase -i HEAD~3 // 修改最近的三条记录,顺序排列按提交时间升序 指令说明: pick:保留该commit(缩写:p) reword&#xff1a…

lvm操作和扩容根分区

扩展逻辑卷 [rootlocalhost ~]# pvcreate /dev/sdb1 vgextend vg1 /dev/sdb1(表示将/dev/sdb1扩展到centos卷组,扩展卷组就是将其它分好的区加入卷组) [rootlocalhost ~]# vgextend centos /dev/sdb1[rootlocalhost ~]# lvextend -L 50G /…

事关Django的静态资源目录设置与静态资源文件引用(Django的setting.py中的三句静态资源(static)目录设置语句分别是什么作用?)

在Django的setting.py中常见的三句静态资源(static)目录设置语句如下: STATICFILES_DIRS [os.path.join(BASE_DIR, static_list)] # 注意这是一个列表,即可以有多个目录的路径 STATIC_ROOT os.path.join(BASE_DIR, static_root) STATIC_URL /static-url/本文介…

CImage通过WinApi的SetWorldTransform来实现图片旋转

SetWorldTransform的功能是旋转画布,这样产生的效果就是图像旋转。因此,在旋转画布之前,要把要旋转的图像的位置和大小准备好,这样旋转之后,才能使图像正好出现在显示区域内。这需要计算两个关键参数,图像的…

Kotlin学习——hello kotlin 函数function 变量 类 + 泛型 + 继承

Kotlin 是一门现代但已成熟的编程语言,旨在让开发人员更幸福快乐。 它简洁、安全、可与 Java 及其他语言互操作,并提供了多种方式在多个平台间复用代码,以实现高效编程。 https://play.kotlinlang.org/byExample/01_introduction/02_Functio…

如何进行手动脱壳

脱壳的目的就是找到被隐藏起来的OEP(入口点) 这里我一共总结了三种方法,都是些自己的理解希望对你们有用 单步跟踪法 一个程序加了壳后,我们需要找到真正的OEP入口点,先运行,找到假的OEP入口点后&#x…

SpringBoot 整合 JdbcTemplate(配置多数据源)

数据持久化有几个常见的方案,有 Spring 自带的 JdbcTemplate 、有 MyBatis,还有 JPA,在这些方案中,最简单的就是 Spring 自带的 JdbcTemplate 了,这个东西虽然没有 MyBatis 那么方便,但是比起最开始的 Jdbc…

家电电器展示预约小程序的作用是什么

电器产品已经成为人们生活的必备品,如冰箱、电视机、洗衣机等,而这些产品的购买方式也很多,可以到线下门店购买,也可以到线上多个电商平台购买,如今互联网高速发展以及民众享受线上服务带来的便捷性,同时商…

windows环境搭建Zblog博客并发布上线公网可访问

文章目录 1. 前言2. Z-blog网站搭建2.1 XAMPP环境设置2.2 Z-blog安装2.3 Z-blog网页测试2.4 Cpolar安装和注册 3. 本地网页发布3.1. Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 想要成为一个合格的技术宅或程序员,自己搭建网站制作网页是绕…

MySql操作

Mysql数据库项目学习笔记 1.条件查询后排序 (SELECT counter : 0) temp设定临时变量ORDER BY id ASC用于将id以升序形式进行排列 SELECTcounter : counter 1 AS ROW,username,type,content FROMtest_info,( SELECTcounter : 0 ) temp WHEREusername 2 AND type 3 ORDER BYi…

网络文件共享服务(ftp和nfs)和如果用局域网搭建yum仓库

存储类型 存储类型分三种 1.直连式存储:DAS 2.存储区域网络:SAN 3.网络附加存储:NAS FTP文件传输协议 软件要利用协议,协议时通过应用程序实现的 各协议端口 ftp :20(数据) 21&#xff0…

好的CRM系统有哪些核心能力?

CRM是企业管理的重要工具,可以维护管理客户关系,提高企业的核心竞争力。市场营销、销售、客户服务和技术支持等相关领域都需要用到CRM系统。那么一个好的CRM,最核心的能力有哪些? 1.销售自动化 这里简单介绍下销售自动化的功能&…