2、编写第一个django应用(投票应用),第二部分简要过程

上一章https://blog.51cto.com/yht1990/2382801

本章节官网详细参考:https://docs.djangoproject.com/zh-hans/2.1/intro/tutorial02/
1、配置pymysql代替MySQLdb
在需要的项目中(D:\mysite\polls下的init.py)添加如下内容

import pymysql
pymysql.install_as_MySQLdb()

2、服务器创建mysite数据库,配置权限允许访问数据库的IP

3、数据库配置
mysite\settings.py

DATABASES = {
    ‘default‘: {
        ‘ENGINE‘: ‘django.db.backends.mysql‘,
        ‘NAME‘: ‘mysite‘,
        ‘USER‘: ‘root‘,
        ‘PASSWORD‘: ‘123456‘,
        ‘HOST‘: ‘192.168.20.217‘,
        ‘PORT‘: ‘3306‘,
    }
}

4、配置包含应用
mysite\settings.py

INSTALLED_APPS = [
    ‘polls.apps.PollsConfig‘,  #添加的配置
    ‘django.contrib.admin‘,
    ‘django.contrib.auth‘,
    ‘django.contrib.contenttypes‘,
    ‘django.contrib.sessions‘,
    ‘django.contrib.messages‘,
    ‘django.contrib.staticfiles‘,
]

5、创建模型
polls/models.py

from django.db import models

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateField(‘date published‘)

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

6、建表
1)为模型的改变生成迁移文件。

D:\mysite>python manage.py makemigrations
Migrations for ‘polls‘:
  polls\migrations\0001_initial.py
    - Create model Choice
    - Create model Question
    - Add field question to choice

2)开始建表
python manage.py migrate

7、django管理页面
1)创建一个管理员账号

2) 向管理页面加入投票应用
polls/admin.py
from django.contrib import admin
from .models import Question
admin.site.register(Question)

3)重启访问
ide重启项目,访问:http://127.0.0.1:8000/admin/

原文地址:https://blog.51cto.com/yht1990/2382898

时间: 2024-11-24 08:26:39

2、编写第一个django应用(投票应用),第二部分简要过程的相关文章

3、编写第一个django应用(投票应用),第三部分简要过程

第三部分官网参考链接 https://docs.djangoproject.com/zh-hans/2.2/intro/tutorial03/1.编写更多视图:添加函数polls/views.py def detail(request, question_id): return HttpResponse("You're looking at question %s." % question_id) def results(request, question_id): response

2、编写第一个django app

1.创建project django-admin startproject mysite 输入以上命令后, 在当前目录下生成 mysite 目录 和 相应文件: [[email protected] django]# tree . . └── mysite 项目容器, django 不关注, 可随意命名 ├── manage.py 一种命令行工具,允许你以多种方式与该 Django 项目进行交互,可用 python manage.py help 查看使用方式 └── mysite 项目的pyth

django (三) 第一个django app 创建model

经过上一章,我们已经创建好一个django app了,接下来,我们开始完善它. 首先,我们先了解些基本概念. Django中创建的每个应用程序都是由Python的包组成,遵循某些约定.Django配有一个实用程序,自动生成一个应用程序的基本目录结构,所以您可以专注于编写代码,而不是创建目录. 那么项目和应用程序到底有什么区别呢? 一个app是一个web应用:比如一个博客系统,一个简单的投票系统.而一个项目是一个集合的配置和应用程序特定的Web站点.一个项目可以包含多个应用程序.应用程序可以存在于

第一个Django应用程序_part3

一.概述 此文延续第一个Django应用程序part2. 官方文档:https://docs.djangoproject.com/en/1.11/intro/tutorial03/ view是Django应用程序中的“类”网页,它通常使用一个特定的函数提供服务,并且具有一个特定的模版.例如在博客应用程序中,kennel有以下视图: 博客首页-显示最新的几个条目. 博客“详细”页面 --单篇博客的固定链接页面. 基于年份的存档页面-显示给定年份的所有月份. 基于月份的存档页面-显示所有日期与给定月

pycharm搭建第一个django项目

用pycharm开发django项目示例 pycharm开发django工程(一) 在pycharm(企业版)中新建Django工程,注意使用虚拟环境 创建成功后,在pycharm显示的工程目录结构如下: 打开pycharm的Terminal,进入该工程的目录新建一个django工程 python3 manage.py startapp django_web 执行成功后,工程目录结构如下: 修改settings.py文件,注册该工程 Django的开发遵循MTV模式(models, templa

利用map的特性做一个简易的投票程序

pair 1. 概念:pair是 一种模版类型,每个pair 可以存储两个值,这两种值的类型无限制.也可以将自己写的struct类型的的对象放进去. 2. 用法: pair<int ,int >p (1,2); pair<int ,int > p1= make_pair(1,2); 3. 编写程序读入一系列string和int型数据,将每一组存储在一个pair对象中,然后将这些pair对象存储在vector容器并显示 #include<iostream> #includ

django (二) 第一个django app

第一个django app 我们来做一个投票网站. 他由两部分组成: 一个公共界面让用户去投票 一个管理界面,对投票增删改. 首先,你得创建一个新的项目,只需一行代码,django将自动为你完成这项任务. cd切换到你想存储你项目的路径下如C:\,输入: django-admin.py startproject mysite 这时,你的C:\下将多了一个文件夹mysite,打开后你会看到: mysite/ manage.py mysite/ __init__.py settings.py url

第一个Django页面

第一个Django页面 1,进入forum项目:熟悉项目里各种文件的作用 2,配置URL:在urls.py里面添加 [url路径与对应的处理函数] 3,编写处理函数:根据urls.py里添加函数的路径,编写处理函数(有manage.py文件的目录为Django根目录) 我直接使用以前写的文章,因为是pdf的格式,我把它转化为图片贴出来,有不明白的地方可以进行评论我,我看到会第一时间去解答!

Web框架本质及第一个Django实例

Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 import socket sk = socket.socket() sk.bind(("127.0.0.1", 80)) sk.listen() while True: conn, addr = sk.accept() data = conn.recv(8096) conn.send(b"