python3.7+djiango+mysql+PyCharm搭建web项目

参考:http://www.cnblogs.com/benshan/p/4445074.html

python3.7

1.创建项目目录如下

web01目录下:

-------------------------------------------------------------------------------------------------------------

settings.py:项目配置文件

  ALLOWED_HOSTS = ['*'] # 允许任意主机访问web项目

  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和登录模块前面

  'web.apps.WebConfig', # WebConfig文件中指定了项目名称
]

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 }}&emsp;姓名:{{ student.name }}&emsp;age:{{ student.age }}
</li>
{% endfor %}
</ul>
</body>
</html>

-------------------------------------------------------------------------------------------------------------

manage.py:管理(生成数据库表,创建web管理用户)

-------------------------------------------------------------------------------------------------------------

# 配置完models后执行命令:

python manage.py makemigrations

python manage.py migrate

# 创建管理用户

python manage.py createsuperuser

-------------------------------------------------------------------------------------------------------------

猜你喜欢

转载自www.cnblogs.com/blog-ice/p/10813572.html