实际项目的实现1

mysql条件下 创建新的数据库

create database project1 charset=utf8

创建虚拟环境
mkvirtualenv -p python3 虚拟环境的名字(project1):

通过workon 进入设置好的环境
在/Desktop 目录下创建自己的项目
创建项目的语句:django-admin startproject 项目名字

django-admin startproject newproject

会生成如下的文件:
manage.py 项目管理文件,用来管理项目
newproject:项目同名文件夹
├── init.py表示我们这个文件可以被使用过
├── settings.py 配置文件(数据库,邮箱等的配置)
├── urls.py项目的所有的地址配置
└── wsgi.py 就是我们django 小型服务器的入口文件

然后创建app
python manage.py startapp 模块名字
此处创建了三个模块

    python manage.py startapp use_er
    python manage.py startapp cardetail1
    python manage.py startapp trade1

将生成的三个模块用一个apps文件夹收藏,方便以后查找
更改数据库:让项目文件找到所用的数据库
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’:‘project1’, 数据库名称
‘USER’:‘root’, 使用者
‘PASSWORD’:‘mysql’, 数据库密码
‘PORT’:3306, 端口
‘HOST’:‘localhost’
}
}

安装pymysql 模块,并且在项目的同名文件夹下的————init.py文件下添加语句

import pymysql
pymysql.install_as_MySQLdb()

在model中进行建表语句,一个用户信息表 一个用户地址表

from django.db import models
from django.contrib.auth.models import AbstractUser

# Create your models here.

class UserInfo(AbstractUser):
    is_delete=models.IntegerField(default=0)
    def __str__(self):
        return self.username

class UserAddress(models.Model):
    user = models.ForeignKey('UserInfo')
    recv_name = models.CharField(max_length=20)
    recv_phone = models.IntegerField(max_length=20)
    server_phone = models.IntegerField(max_length=20)
    recv_Address = models.CharField(max_length=30)
    is_delete = models.IntegerField(default=0)
    def __str__(self):
        return self.recv_name

建立上表中用了AbstractUser ,Django框架中自带的用户信息表,继承了他的属性,需要在setting中导入
#django自带的用户认证系统
AUTH_USER_MODEL = ‘use_er.UserInfo’

为了方便使用模块,我们将模块搜索出来,可以直接使用模块名,不用从项目的同名文件可是写地址

import sys
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))

这样查找过系统模块后,可以直接在后面加上新的模块名称,如果没有搜过,则需要加前缀apps. 例如:apps.use_er ,apps.cardetail1,

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'use_er',
    'cardetail1',
    'trade1',
)

在admin中写上后端可以显示的内容

from django.contrib import admin
from use_er.models import UserInfo,UserAddress

# Register your models here.
class UserInfoAdmin(admin.ModelAdmin):
    list_display = ['id','username','password','last_login','is_superuser','email','is_staff','is_active','date_joined','is_delete']

class UserAddressAdmin(admin.ModelAdmin):
    list_display = ['id', 'recv_name','recv_phone','server_phone','recv_Address','is_delete','user_id']

admin.site.register(UserAddress,UserAddressAdmin)
admin.site.register(UserInfo,UserInfoAdmin)

然后生成迁移文件 ,执行迁移文件 ,第一个模块就可以告一段落了
python manage.py makemigrations
python manage.py migrate
然后开启服务器
python manage.py runserver
进入http://127.0.0.1:8000/admin 中可以查看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值