django 实践后的问题总结

来源:互联网 发布:凸的网络意思是什么 编辑:程序博客网 时间:2024/06/04 07:00

数据库使用mysql:

---- settings.py ----

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME':'*****',
        'USER':'root',
        'PASSWORD':'',
        'HOST':'localhost',
        'PORT':'3306',
    }
}

---- projectname/init.py ----

import pymysql

pymysql.install_as_MySQLdb()


静态文件的目录修改:

#修改到根目录

---- settings.py ----

STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)
STATICFILES_DIR =(
    os.path.join(BASE_DIR, "static"),
)

模板文件的目录修改:

#修改到根目录
---- settings.py ----

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR+"/templates",],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'django.template.context_processors.media',
            ],
        },
    },
]


想上传图片怎么样实现:

---- settings.py ----

MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/')
MEDIA_URL = '/media/'

---- url.py ----

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^award/index/',views.index),
]+static(settings.MEDIA_URL , document_root=settings.MEDIA_ROOT)

---- templates/index.html ----

<form action="/award/person_award/" method="POST" enctype="multipart/form-data">

<button type="button">
                    <i></i> 选择要上传的文件
                </button>
                <input type="file" multiple id="img" name="award_img">

</form>

---- views.py----

award_img = request.FILES.get('award_img')

models.Awardsss.objects.create(aimg=award_img)

return ........

---- models.py----

class Awardsss(models.Model):
    aimg=models.ImageField("照片",upload_to='img/')

URL 传递参数:

---- url.py ----

urlpatterns = [    url(r'^award/all_alone/(?P<snum>\d{12})/$',views.all_alone),]

---- views.py----

def all_alone(request,snum):    snum_c = models.Awardsss.objects.filter(snum=snum).count()    return render(request,'all_alone.html',{"snum":snum_c})

---- templates/all_alone.html ----

{{ snum }}