新文章点提交之后出现 ValueError
ValueError at /blog/edit/action
invalid literal for int() with base 10: ''
Request Method: | POST |
---|---|
Request URL: | http://127.0.0.1:8000/blog/edit/action |
Django Version: | 2.1.1 |
Exception Type: | ValueError |
Exception Value: | invalid literal for int() with base 10: '' |
Exception Location: | C:\Users\89758\AppData\Local\Programs\Python\Python37\lib\site-packages\django-2.1.1-py3.7.egg\django\db\models\fields\__init__.py in get_prep_value, line 965 |
Python Executable: | C:\Users\89758\AppData\Local\Programs\Python\Python37\python.exe |
Python Version: | 3.7.0 |
Python Path: | ['D:\\Python\\myblog', 'C:\\Users\\89758\\AppData\\Local\\Programs\\Python\\Python37\\python37.zip', 'C:\\Users\\89758\\AppData\\Local\\Programs\\Python\\Python37\\DLLs', 'C:\\Users\\89758\\AppData\\Local\\Programs\\Python\\Python37\\lib', 'C:\\Users\\89758\\AppData\\Local\\Programs\\Python\\Python37', 'C:\\Users\\89758\\AppData\\Roaming\\Python\\Python37\\site-packages', 'C:\\Users\\89758\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages', 'C:\\Users\\89758\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages\\django-2.1.1-py3.7.egg', 'C:\\Users\\89758\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages\\pytz-2018.5-py3.7.egg'] |
Server time: | 星期二, 25 九月 2018 06:19:13 +0000 |
Traceback Switch to copy-and-paste view
C:\Users\89758\AppData\Local\Programs\Python\Python37\lib\site-packages\django-2.1.1-py3.7.egg\django\core\handlers\exception.py
ininner
response = get_response(request)
...
C:\Users\89758\AppData\Local\Programs\Python\Python37\lib\site-packages\django-2.1.1-py3.7.egg\django\core\handlers\base.py
in _get_response
response = self.process_exception_by_middleware(e, request)
...
C:\Users\89758\AppData\Local\Programs\Python\Python37\lib\site-packages\django-2.1.1-py3.7.egg\django\core\handlers\base.py
in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
...
D:\Python\myblog\blog\views.py
in edit_action
article = models.Articel.objects.get(pk=article_id)
...
C:\Users\89758\AppData\Local\Programs\Python\Python37\lib\site-packages\django-2.1.1-py3.7.egg\django\db\models\manager.py
in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
...
C:\Users\89758\AppData\Local\Programs\Python\Python37\lib\site-packages\django-2.1.1-py3.7.egg\django\db\models\query.py
in get
clone = self.filter(*args, **kwargs)
...
C:\Users\89758\AppData\Local\Programs\Python\Python37\lib\site-packages\django-2.1.1-py3.7.egg\django\db\models\query.py
in filter
return self._filter_or_exclude(False, *args, **kwargs)
...
C:\Users\89758\AppData\Local\Programs\Python\Python37\lib\site-packages\django-2.1.1-py3.7.egg\django\db\models\query.py
in _filter_or_exclude
clone.query.add_q(Q(*args, **kwargs))
...
C:\Users\89758\AppData\Local\Programs\Python\Python37\lib\site-packages\django-2.1.1-py3.7.egg\django\db\models\sql\query.py
in add_q
clause, _ = self._add_q(q_object, self.used_aliases)
...
C:\Users\89758\AppData\Local\Programs\Python\Python37\lib\site-packages\django-2.1.1-py3.7.egg\django\db\models\sql\query.py
in _add_q
split_subq=split_subq,
...
C:\Users\89758\AppData\Local\Programs\Python\Python37\lib\site-packages\django-2.1.1-py3.7.egg\django\db\models\sql\query.py
in build_filter
condition = self.build_lookup(lookups, col, value)
...
C:\Users\89758\AppData\Local\Programs\Python\Python37\lib\site-packages\django-2.1.1-py3.7.egg\django\db\models\sql\query.py
in build_lookup
lookup = lookup_class(lhs, rhs)
...
C:\Users\89758\AppData\Local\Programs\Python\Python37\lib\site-packages\django-2.1.1-py3.7.egg\django\db\models\lookups.py
in __init__
self.rhs = self.get_prep_lookup()
...
C:\Users\89758\AppData\Local\Programs\Python\Python37\lib\site-packages\django-2.1.1-py3.7.egg\django\db\models\lookups.py
in get_prep_lookup
return self.lhs.output_field.get_prep_value(self.rhs)
...
C:\Users\89758\AppData\Local\Programs\Python\Python37\lib\site-packages\django-2.1.1-py3.7.egg\django\db\models\fields\__init__.py
in get_prep_value
return int(value)
...
Request information
USER
admin
GET
No GET data
POST
Variable | Value |
---|---|
csrfmiddlewaretoken | 'sEgOkjULbS0aWedvkOGY2Kya7WV0OkFKViESyiyIwWyclffmWQDhWlKYNRzJvXjV' |
article_id | '' |
title | '7' |
content | '1' |
FILES
No FILES data
COOKIES
Variable | Value |
---|---|
csrftoken | 'nTObKsq1WK2FL5Rz2ENpdAqIW9OsucNmQxcfYr4YhOAHa6TqEGKI7bCwC4sbbPrx' |
sessionid | 'ijg1c00l4tv8fey44fyzs0ftpo8607s3' |
META
Variable | Value |
---|---|
ALLUSERSPROFILE | 'C:\\ProgramData' |
APPDATA | 'C:\\Users\\89758\\AppData\\Roaming' |
ASL.LOG | 'Destination=file' |
COMMONPROGRAMFILES | 'C:\\Program Files\\Common Files' |
COMMONPROGRAMFILES(X86) | 'C:\\Program Files (x86)\\Common Files' |
COMMONPROGRAMW6432 | 'C:\\Program Files\\Common Files' |
COMPUTERNAME | 'LAPTOP-C6V1PBIB' |
COMSPEC | 'C:\\Windows\\system32\\cmd.exe' |
CONFIGSETROOT | 'C:\\Windows\\ConfigSetRoot' |
CONTENT_LENGTH | '114' |
CONTENT_TYPE | 'application/x-www-form-urlencoded' |
CSRF_COOKIE | 'nTObKsq1WK2FL5Rz2ENpdAqIW9OsucNmQxcfYr4YhOAHa6TqEGKI7bCwC4sbbPrx' |
DJANGO_SETTINGS_MODULE | 'myblog.settings' |
FPS_BROWSER_APP_PROFILE_STRING | 'Internet Explorer' |
FPS_BROWSER_USER_PROFILE_STRING | 'Default' |
GATEWAY_INTERFACE | 'CGI/1.1' |
HOMEDRIVE | 'C:' |
HOMEPATH | '\\Users\\89758' |
HTTP_ACCEPT | 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' |
HTTP_ACCEPT_ENCODING | 'gzip, deflate, br' |
HTTP_ACCEPT_LANGUAGE | 'zh-CN,zh;q=0.9' |
HTTP_CACHE_CONTROL | 'max-age=0' |
HTTP_CONNECTION | 'keep-alive' |
HTTP_COOKIE | ('csrftoken=nTObKsq1WK2FL5Rz2ENpdAqIW9OsucNmQxcfYr4YhOAHa6TqEGKI7bCwC4sbbPrx; ' 'sessionid=ijg1c00l4tv8fey44fyzs0ftpo8607s3') |
HTTP_HOST | '127.0.0.1:8000' |
HTTP_ORIGIN | 'http://127.0.0.1:8000' |
HTTP_REFERER | 'http://127.0.0.1:8000/blog/edit/0/' |
HTTP_UPGRADE_INSECURE_REQUESTS | '1' |
HTTP_USER_AGENT | ('Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/68.0.3440.106 Safari/537.36') |
LOCALAPPDATA | 'C:\\Users\\89758\\AppData\\Local' |
LOGONSERVER | '\\\\LAPTOP-C6V1PBIB' |
MYSQL_HOME | 'C:\\Program Files\\MySQL\\MySQL Server 8.0' |
NUMBER_OF_PROCESSORS | '8' |
ONEDRIVE | 'C:\\Users\\89758\\OneDrive' |
OS | 'Windows_NT' |
PATH | ('C:\\Program Files (x86)\\Intel\\iCLS Client\\;C:\\Program Files\\Intel\\iCLS ' 'Client\\;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program ' 'Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files ' '(x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program ' 'Files\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files ' '(x86)\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program ' 'Files\\Intel\\Intel(R) Management Engine ' 'Components\\IPT;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program ' 'Files\\Intel\\WiFi\\bin\\;C:\\Program Files\\Common ' 'Files\\Intel\\WirelessCommon\\;C:\\Program Files\\MySQL\\MySQL Server ' '8.0\\bin;C:\\Program ' 'Files\\nodejs\\;C:\\Users\\89758\\AppData\\Local\\Programs\\Python\\Python37;D:\\Django-2.1.1\\django\\bin;C:\\Users\\89758\\AppData\\Local\\Programs\\Python\\Python37\\Lib\\site-packages\\Django-2.1.1-py3.7.egg\\django\\bin;C:\\Users\\89758\\AppData\\Local\\Microsoft\\WindowsApps;;D:\\visual ' 'studio code\\Microsoft VS Code\\bin;C:\\Program ' 'Files\\Intel\\WiFi\\bin\\;C:\\Program Files\\Common ' 'Files\\Intel\\WirelessCommon\\;C:\\Users\\89758\\AppData\\Roaming\\npm;C:\\Program ' 'Files\\JetBrains\\PyCharm 183.2407.3\\bin;') |
PATHEXT | '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC' |
PATH_INFO | '/blog/edit/action' |
PROCESSOR_ARCHITECTURE | 'AMD64' |
PROCESSOR_IDENTIFIER | 'Intel64 Family 6 Model 94 Stepping 3, GenuineIntel' |
PROCESSOR_LEVEL | '6' |
PROCESSOR_REVISION | '5e03' |
PROGRAMDATA | 'C:\\ProgramData' |
PROGRAMFILES | 'C:\\Program Files' |
PROGRAMFILES(X86) | 'C:\\Program Files (x86)' |
PROGRAMW6432 | 'C:\\Program Files' |
PROMPT | '$P$G' |
PSMODULEPATH | ('C:\\Program ' 'Files\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules') |
PUBLIC | 'C:\\Users\\Public' |
PYCHARM | 'C:\\Program Files\\JetBrains\\PyCharm 183.2407.3\\bin;' |
QUERY_STRING | '' |
REMOTE_ADDR | '127.0.0.1' |
REMOTE_HOST | '' |
REQUEST_METHOD | 'POST' |
RUN_MAIN | 'true' |
SCRIPT_NAME | '' |
SERVER_NAME | 'LAPTOP-C6V1PBIB' |
SERVER_PORT | '8000' |
SERVER_PROTOCOL | 'HTTP/1.1' |
SERVER_SOFTWARE | 'WSGIServer/0.2' |
SESSIONNAME | 'Console' |
SYSTEMDRIVE | 'C:' |
SYSTEMROOT | 'C:\\Windows' |
TEMP | 'C:\\Users\\89758\\AppData\\Local\\Temp' |
TMP | 'C:\\Users\\89758\\AppData\\Local\\Temp' |
USERDOMAIN | 'LAPTOP-C6V1PBIB' |
USERDOMAIN_ROAMINGPROFILE | 'LAPTOP-C6V1PBIB' |
USERNAME | 'test' |
USERPROFILE | 'C:\\Users\\89758' |
WINDIR | 'C:\\Windows' |
wsgi.errors | <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'> |
wsgi.file_wrapper | '' |
wsgi.input | <_io.BufferedReader name=940> |
wsgi.multiprocess | False |
wsgi.multithread | True |
wsgi.run_once | False |
wsgi.url_scheme | 'http' |
wsgi.version | (1, 0) |
Settings
Using settings module myblog.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | [] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | 'D:\\Python\\myblog' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SAMESITE | 'Lax' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.sqlite3', 'HOST': '', 'NAME': 'D:\\Python\\myblog\\db.sqlite3', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': ''}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_CONTENT_TYPE | 'text/html' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'localhost' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | '' |
EMAIL_PORT | 25 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | False |
FILE_CHARSET | 'utf-8' |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | None |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog'] |
INTERNAL_IPS | [] |
LANGUAGES | [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'fa', 'ur'] |
LANGUAGE_CODE | 'zh_Hans' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LOCALE_PATHS | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '' |
MEDIA_URL | '' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
ROOT_URLCONF | 'myblog.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | False |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'myblog.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
STATICFILES_DIRS | [] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | None |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], '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']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'UTC' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'myblog.wsgi.application' |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
YEAR_MONTH_FORMAT | 'F Y' |
views:
from django.shortcuts import render from . import models from django.http import HttpResponse from django.http import HttpResponseRedirect # Create your views here. def index(request): article = models.Articel.objects.all() return render(request, 'index.html', {'article':article}) def article_page(request,article_id): article= models.Articel.objects.get(pk=article_id) return render(request,'article_page.html',{'article':article}) def edit_page(request,article_id): if str(article_id)=='0': return render(request,'edit_page.html') article= models.Articel.objects.get(pk=article_id) return render(request,'edit_page.html',{'article':article}) def edit_action(request): title = request.POST.get('title','TITLE') content = request.POST.get('content','CONTENT') article_id = request.POST.get('article_id','0') if article_id == '0': models.Articel.objects.create(title=title, content=content) articles = models.Articel.objects.all() return render(request,'index.html', {'articles': articles}) article = models.Articel.objects.get(pk=article_id) article.title = title article.content = content article.save() return render(request,'article_page.html',{'article':article})
edit_page:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Edit Page</title> </head> <body> <form action="{% url 'blog:edit_action' %}" method="post"> {% csrf_token %} {% if article %} <input type="hidden" name="article_id" value="{{ article.id }}"> <label>文章标题 <input type="text" name="title" value="{{ article.title }}" > </label> <br> <label>文章内容 <input type="text" name="content" value="{{ article.content }}"> </label> <br> {% else %} <input type="hidden" name="article_id" value="" > <label>文章标题 <input type="text" name="title" value=""> </label> <br> <label>文章内容 <input type="text" name="content" value=""> </label> <br> {% endif %} <input type="submit" value="提交"> </form> </body> </html>