参考:http://www.cnblogs.com/benshan/p/4445074.htmlhtml
python3.7python
1.建立项目目录以下mysql
web01目录下:web
-------------------------------------------------------------------------------------------------------------sql
settings.py:项目配置文件数据库
ALLOWED_HOSTS = ['*'] # 容许任意主机访问web项目django
INSTALLED_APPS = [服务器
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites', # 这边是allauth的依赖包,必须在app和登陆模块前面session
'web.apps.WebConfig', # WebConfig文件中指定了项目名称
]app
SITE_ID = 1
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'xx', # 所使用的的数据库的名字
'USER': 'xx', #数据库服务器的用户
'PASSWORD': 'xx', #密码
'HOST': 'xx', #主机
'PORT': '3306', #端口
}
}
-------------------------------------------------------------------------------------------------------------
urls.py:url配置文件
from web.views import say_hello, show_students, show_real_students # web.views是web目录下的views.py, import后面的都是views.py里面的方法
urlpatterns = [
path('admin/', admin.site.urls),
path('sayHello/', say_hello),
path('showStudents/', show_students),
path('showRealStudents/', show_real_students),
]
-------------------------------------------------------------------------------------------------------------
_init_.py:配置导入数据库模块
import pymysql
pymysql.install_as_MySQLdb()
-------------------------------------------------------------------------------------------------------------
web目录下:项目配置
-------------------------------------------------------------------------------------------------------------
views.py:业务处理
from web.models import Student # models.py里面的Student与数据库表web_student映射
def say_hello(request):
s = 'Hello World!'
current_time = datetime.datetime.now()
html = '<html><head></head><body><h1> %s </h1><p> %s </p></body></html>' % (s, current_time)
return HttpResponse(html)
def show_students(request):
student = [{id: 1, 'name': 'Jack', 'age': 30}, {id: 2, 'name': 'Rose', 'age': 200}]
return render_to_response('student.html', {'students': student})
def show_real_students(request):
student = Student.objects.all()
return render_to_response('student.html', {'students': student})
-------------------------------------------------------------------------------------------------------------
models.py:与数据库映射
from django.db import models
class Student(models.Model):
id = models.BigIntegerField
name = models.CharField(max_length=20, default='a')
age = models.PositiveSmallIntegerField()
-------------------------------------------------------------------------------------------------------------
apps.py:web项目配置
class WebConfig(AppConfig):
name = 'web' # 项目名称
-------------------------------------------------------------------------------------------------------------
admin.py:项目管理页面配置
from web.models import Student
class StudentAdmin(admin.ModelAdmin):
list_display = ('id', 'name', 'age') #添加字段显示
search_fields = ('name', 'age') #添加快速查询栏
admin.site.register(Student, StudentAdmin) # 参数分别是实体类,管理方法
-------------------------------------------------------------------------------------------------------------
templates目录:页面
-------------------------------------------------------------------------------------------------------------
student.html:页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<ul>
{% for student in students %}
<li>
id:{{ student.id }} 姓名:{{ student.name }} age:{{ student.age }}
</li>
{% endfor %}
</ul>
</body>
</html>
-------------------------------------------------------------------------------------------------------------
manage.py:管理(生成数据库表,建立web管理用户)
-------------------------------------------------------------------------------------------------------------
# 配置完models后执行命令:
python manage.py makemigrations
python manage.py migrate
# 建立管理用户
python manage.py createsuperuser
-------------------------------------------------------------------------------------------------------------