1、在根目录下配置好urls以后,需要进入创建的第一个应用,即执行
django-admin startapp blog
进入创建的blog文件夹内,创建一个urls文件,在文件下配置url
例如:配置路径,分别对应views下的不同模块
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$',views.index,name="index"),
url(r'^login/$',views.login,name="login"),
url(r'^register/$',views.registser,name="register"),
]
2、在views下对功能进行实现
from django.http import HttpResponse
def index(request):
print("这里是什么?",request)
return HttpResponse("""<h1>博客首页面</h1><a href="/"></a>""")
连接MySQL数据库
1、首先在setting文件中进行数据库的配置
# 需要导入pymysql库
import pymysql
# 因为django底层使用的是mysqldb模块,需要将pymysql转为mysqldb
pymysql.install_as_MySQLdb()
DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE':'django.db.backends.mysql',
'NAME':'python_django',
'USER':'root',
'PASSWORD':'root',
'HOST':'localhost',
'PORT':3306,
'CHARSET':'utf8',
}
}
2、在models模块建立数据模型
# 导入库
from django.db import models
class Users(models.Model):
id = models.AutoField(primary_key=True)
username = models.CharField(max_length=100,unique=True,verbose_name="用户名")
age = models.IntegerField(max_length=10,default=18,verbose_name="年龄")
# 昵称允许为空,null和blank都要设置
nickname = models.CharField(max_length=255,null=True,blank=True,verbose_name="昵称")
password = models.CharField(max_length=255,verbose_name="密码")
gender = models.BooleanField(default=True,verbose_name="用户性别")
email = models.EmailField(verbose_name="邮箱")
# createtime = models.DateTimeField(default=datetime.now(),verbose_name="创建时间")
# auto_now表示生成的时间,之后不会再改变,auto_now_add指的是每次更新的时间,会自动变化的
createtime = models.DateTimeField(auto_now=True)
3、在根目录的终端下执行代码,生成一个迁移文件,即生成sql语句
python manage.py makemigrations
(可选操作)可以对生成的sql语句进行查看
python manage.py sqlmigrate
4、对生成的sql语句进行执行
python manage.py migrate
5、将数据保存在数据库,三种方法
方法一(不推荐):在上面Users对象下创建一个函数来实现用户数据的添加,类方法,继承了Model对象
# 使用类方法实现数据增加
@classmethod
def add_user(cls,username,password,age,nickname,email):
cls(username=username,password=password,age=age,nickname=nickname,email=email)
在views模块执行
# 导入models模块
from . import models
def registser(request):
username = "zhengyuchao1"
age = 19
nickname = "草草"
email = "[150@qq.com](mailto:150@qq.com)"
password = "123456"
user = models.Users.add_user(username=username,password=password,age=age,nickname=nickname,email=email)
user.save()
return HttpResponse("注册成功")
方法二:创建一个Manager管理对象,来操作数据的添加
创建一个UserManager对象
必须继承manager类
class UserManager(models.Manager):
def add_user(self,username,password,nickname,age,email):
user = self.create(username=username,password=password,nickname=nickname,age=age,email=email)
return user
在Users对象中添加一行代码关联这个对象
userManager = UserManager()
在views视图中操作该Manager对象,自带save方法,不用再次执行了
user = models.Users.userManager.add_user(username=username,password=password,age=age,nickname=nickname,email=email)
方法三:因为Model模块已经封装了数据添加存储的方法,直接在views中使用
user = models.Users(username=username,password=password,age=age,nickname=nickname,email=email)
user.save()
```
网友评论