Compare commits
1 Commits
master
...
SpiderWebs
Author | SHA1 | Date |
---|---|---|
|
66d8b39b2e | 4 years ago |
@ -1,8 +0,0 @@
|
|||||||
# Default ignored files
|
|
||||||
/shelf/
|
|
||||||
/workspace.xml
|
|
||||||
# Datasource local storage ignored files
|
|
||||||
/../../../../../:\Project Files\djangoProject\SpiderWebsite\.idea/dataSources/
|
|
||||||
/dataSources.local.xml
|
|
||||||
# Editor-based HTTP Client requests
|
|
||||||
/httpRequests/
|
|
@ -1,30 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module type="PYTHON_MODULE" version="4">
|
|
||||||
<component name="FacetManager">
|
|
||||||
<facet type="django" name="Django">
|
|
||||||
<configuration>
|
|
||||||
<option name="rootFolder" value="$MODULE_DIR$" />
|
|
||||||
<option name="settingsModule" value="SpiderWebsite/settings.py" />
|
|
||||||
<option name="manageScript" value="$MODULE_DIR$/manage.py" />
|
|
||||||
<option name="environment" value="<map/>" />
|
|
||||||
<option name="doNotUseTestRunner" value="false" />
|
|
||||||
<option name="trackFilePattern" value="migrations" />
|
|
||||||
</configuration>
|
|
||||||
</facet>
|
|
||||||
</component>
|
|
||||||
<component name="NewModuleRootManager">
|
|
||||||
<content url="file://$MODULE_DIR$">
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
|
||||||
</content>
|
|
||||||
<orderEntry type="inheritedJdk" />
|
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
|
||||||
</component>
|
|
||||||
<component name="TemplatesService">
|
|
||||||
<option name="TEMPLATE_CONFIGURATION" value="Django" />
|
|
||||||
<option name="TEMPLATE_FOLDERS">
|
|
||||||
<list>
|
|
||||||
<option value="$MODULE_DIR$/../SpiderWebsite\templates" />
|
|
||||||
</list>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
</module>
|
|
@ -1,33 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="dataSourceStorageLocal">
|
|
||||||
<data-source name="python_web_spider_DB@192.168.137.132" uuid="a054a47b-8b8c-4cc9-bfc8-0ff4ab7fd9f8">
|
|
||||||
<database-info product="MariaDB" version="10.3.27-MariaDB-0+deb10u1" jdbc-version="4.2" driver-name="MariaDB Connector/J" driver-version="2.6.0" dbms="MARIADB" exact-version="10.3.27" exact-driver-version="2.6">
|
|
||||||
<extra-name-characters>#@</extra-name-characters>
|
|
||||||
<identifier-quote-string>`</identifier-quote-string>
|
|
||||||
</database-info>
|
|
||||||
<case-sensitivity plain-identifiers="exact" quoted-identifiers="exact" />
|
|
||||||
<secret-storage>master_key</secret-storage>
|
|
||||||
<user-name>student</user-name>
|
|
||||||
<schema-mapping>
|
|
||||||
<introspection-scope>
|
|
||||||
<node kind="schema" qname="@" />
|
|
||||||
</introspection-scope>
|
|
||||||
</schema-mapping>
|
|
||||||
</data-source>
|
|
||||||
<data-source name="python_web_spider_DB@120.79.165.140" uuid="fd60bcf9-001b-4c4a-990f-1e1c3de177de">
|
|
||||||
<database-info product="MariaDB" version="10.3.28-MariaDB" jdbc-version="4.2" driver-name="MariaDB Connector/J" driver-version="2.6.0" dbms="MARIADB" exact-version="10.3.28" exact-driver-version="2.6">
|
|
||||||
<extra-name-characters>#@</extra-name-characters>
|
|
||||||
<identifier-quote-string>`</identifier-quote-string>
|
|
||||||
</database-info>
|
|
||||||
<case-sensitivity plain-identifiers="exact" quoted-identifiers="exact" />
|
|
||||||
<secret-storage>master_key</secret-storage>
|
|
||||||
<user-name>kino</user-name>
|
|
||||||
<schema-mapping>
|
|
||||||
<introspection-scope>
|
|
||||||
<node kind="schema" qname="@" />
|
|
||||||
</introspection-scope>
|
|
||||||
</schema-mapping>
|
|
||||||
</data-source>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
@ -1,19 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
|
||||||
<data-source source="LOCAL" name="python_web_spider_DB@192.168.137.132" uuid="a054a47b-8b8c-4cc9-bfc8-0ff4ab7fd9f8">
|
|
||||||
<driver-ref>mariadb</driver-ref>
|
|
||||||
<synchronize>true</synchronize>
|
|
||||||
<jdbc-driver>org.mariadb.jdbc.Driver</jdbc-driver>
|
|
||||||
<jdbc-url>jdbc:mariadb://192.168.137.132:3306/python_web_spider_DB</jdbc-url>
|
|
||||||
<working-dir>$ProjectFileDir$</working-dir>
|
|
||||||
</data-source>
|
|
||||||
<data-source source="LOCAL" name="python_web_spider_DB@120.79.165.140" uuid="fd60bcf9-001b-4c4a-990f-1e1c3de177de">
|
|
||||||
<driver-ref>mariadb</driver-ref>
|
|
||||||
<synchronize>true</synchronize>
|
|
||||||
<jdbc-driver>org.mariadb.jdbc.Driver</jdbc-driver>
|
|
||||||
<jdbc-url>jdbc:mariadb://120.79.165.140:3306/python_web_spider_DB</jdbc-url>
|
|
||||||
<working-dir>$ProjectFileDir$</working-dir>
|
|
||||||
</data-source>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
@ -1,4 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (SpiderWebsite)" project-jdk-type="Python SDK" />
|
|
||||||
</project>
|
|
@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ProjectModuleManager">
|
|
||||||
<modules>
|
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/SpiderWebsite.iml" filepath="$PROJECT_DIR$/.idea/SpiderWebsite.iml" />
|
|
||||||
</modules>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
@ -1,153 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="AutoImportSettings">
|
|
||||||
<option name="autoReloadType" value="SELECTIVE" />
|
|
||||||
</component>
|
|
||||||
<component name="ChangeListManager">
|
|
||||||
<list default="true" id="a341f3cd-864c-4b0c-83de-625b347a6afe" name="Default Changelist" comment="" />
|
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
||||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
|
||||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
|
||||||
</component>
|
|
||||||
<component name="DjangoConsoleOptions" custom-start-script="import sys; print('Python %s on %s' % (sys.version, sys.platform)) import django; print('Django %s' % django.get_version()) sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS]) if 'setup' in dir(django): django.setup() import django_manage_shell; django_manage_shell.run(PROJECT_ROOT)">
|
|
||||||
<option name="myCustomStartScript" value="import sys; print('Python %s on %s' % (sys.version, sys.platform)) import django; print('Django %s' % django.get_version()) sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS]) if 'setup' in dir(django): django.setup() import django_manage_shell; django_manage_shell.run(PROJECT_ROOT)" />
|
|
||||||
</component>
|
|
||||||
<component name="FileTemplateManagerImpl">
|
|
||||||
<option name="RECENT_TEMPLATES">
|
|
||||||
<list>
|
|
||||||
<option value="HTML File" />
|
|
||||||
<option value="Python Script" />
|
|
||||||
</list>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
<component name="GitSEFilterConfiguration">
|
|
||||||
<file-type-list>
|
|
||||||
<filtered-out-file-type name="LOCAL_BRANCH" />
|
|
||||||
<filtered-out-file-type name="REMOTE_BRANCH" />
|
|
||||||
<filtered-out-file-type name="TAG" />
|
|
||||||
<filtered-out-file-type name="COMMIT_BY_MESSAGE" />
|
|
||||||
</file-type-list>
|
|
||||||
</component>
|
|
||||||
<component name="ProjectId" id="1sfThon3Q1JQhsNZgPY7aHaFGuC" />
|
|
||||||
<component name="ProjectViewState">
|
|
||||||
<option name="hideEmptyMiddlePackages" value="true" />
|
|
||||||
<option name="showLibraryContents" value="true" />
|
|
||||||
</component>
|
|
||||||
<component name="PropertiesComponent">
|
|
||||||
<property name="DatabaseDriversLRU" value="mongo mariadb" />
|
|
||||||
<property name="DefaultHtmlFileTemplate" value="HTML File" />
|
|
||||||
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
|
|
||||||
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
|
||||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
|
||||||
<property name="database.data.extractors.current.export.id" value="Comma-separated (CSV)_id" />
|
|
||||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/demo/templates" />
|
|
||||||
<property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
|
|
||||||
</component>
|
|
||||||
<component name="RecentsManager">
|
|
||||||
<key name="CopyFile.RECENT_KEYS">
|
|
||||||
<recent name="E:\Project Files\djangoProject\SpiderWebsite\demo\templates" />
|
|
||||||
<recent name="E:\Project Files\djangoProject\SpiderWebsite\demo" />
|
|
||||||
</key>
|
|
||||||
</component>
|
|
||||||
<component name="RunManager" selected="Django Server.SpiderWebsite">
|
|
||||||
<configuration name="test" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
|
||||||
<module name="SpiderWebsite" />
|
|
||||||
<option name="INTERPRETER_OPTIONS" value="" />
|
|
||||||
<option name="PARENT_ENVS" value="true" />
|
|
||||||
<envs>
|
|
||||||
<env name="PYTHONUNBUFFERED" value="1" />
|
|
||||||
</envs>
|
|
||||||
<option name="SDK_HOME" value="" />
|
|
||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/demo" />
|
|
||||||
<option name="IS_MODULE_SDK" value="true" />
|
|
||||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
||||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
||||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
||||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/demo/test.py" />
|
|
||||||
<option name="PARAMETERS" value="" />
|
|
||||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
||||||
<option name="EMULATE_TERMINAL" value="false" />
|
|
||||||
<option name="MODULE_MODE" value="false" />
|
|
||||||
<option name="REDIRECT_INPUT" value="false" />
|
|
||||||
<option name="INPUT_FILE" value="" />
|
|
||||||
<method v="2" />
|
|
||||||
</configuration>
|
|
||||||
<configuration name="views" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
|
||||||
<module name="SpiderWebsite" />
|
|
||||||
<option name="INTERPRETER_OPTIONS" value="" />
|
|
||||||
<option name="PARENT_ENVS" value="true" />
|
|
||||||
<envs>
|
|
||||||
<env name="PYTHONUNBUFFERED" value="1" />
|
|
||||||
</envs>
|
|
||||||
<option name="SDK_HOME" value="" />
|
|
||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/demo" />
|
|
||||||
<option name="IS_MODULE_SDK" value="true" />
|
|
||||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
||||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
||||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
||||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/demo/views.py" />
|
|
||||||
<option name="PARAMETERS" value="" />
|
|
||||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
||||||
<option name="EMULATE_TERMINAL" value="false" />
|
|
||||||
<option name="MODULE_MODE" value="false" />
|
|
||||||
<option name="REDIRECT_INPUT" value="false" />
|
|
||||||
<option name="INPUT_FILE" value="" />
|
|
||||||
<method v="2" />
|
|
||||||
</configuration>
|
|
||||||
<configuration name="SpiderWebsite" type="Python.DjangoServer" factoryName="Django server">
|
|
||||||
<module name="SpiderWebsite" />
|
|
||||||
<option name="INTERPRETER_OPTIONS" value="" />
|
|
||||||
<option name="PARENT_ENVS" value="true" />
|
|
||||||
<envs>
|
|
||||||
<env name="PYTHONUNBUFFERED" value="1" />
|
|
||||||
<env name="DJANGO_SETTINGS_MODULE" value="SpiderWebsite.settings" />
|
|
||||||
</envs>
|
|
||||||
<option name="SDK_HOME" value="" />
|
|
||||||
<option name="WORKING_DIRECTORY" value="" />
|
|
||||||
<option name="IS_MODULE_SDK" value="false" />
|
|
||||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
||||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
||||||
<option name="launchJavascriptDebuger" value="false" />
|
|
||||||
<option name="port" value="8000" />
|
|
||||||
<option name="host" value="" />
|
|
||||||
<option name="additionalOptions" value="" />
|
|
||||||
<option name="browserUrl" value="" />
|
|
||||||
<option name="runTestServer" value="false" />
|
|
||||||
<option name="runNoReload" value="false" />
|
|
||||||
<option name="useCustomRunCommand" value="false" />
|
|
||||||
<option name="customRunCommand" value="" />
|
|
||||||
<method v="2" />
|
|
||||||
</configuration>
|
|
||||||
<recent_temporary>
|
|
||||||
<list>
|
|
||||||
<item itemvalue="Python.test" />
|
|
||||||
<item itemvalue="Python.views" />
|
|
||||||
</list>
|
|
||||||
</recent_temporary>
|
|
||||||
</component>
|
|
||||||
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
|
||||||
<component name="TaskManager">
|
|
||||||
<task active="true" id="Default" summary="Default task">
|
|
||||||
<changelist id="a341f3cd-864c-4b0c-83de-625b347a6afe" name="Default Changelist" comment="" />
|
|
||||||
<created>1621262767587</created>
|
|
||||||
<option name="number" value="Default" />
|
|
||||||
<option name="presentableId" value="Default" />
|
|
||||||
<updated>1621262767587</updated>
|
|
||||||
<workItem from="1621262826270" duration="880000" />
|
|
||||||
<workItem from="1621326333045" duration="13064000" />
|
|
||||||
<workItem from="1621344108782" duration="5102000" />
|
|
||||||
<workItem from="1621383590355" duration="25305000" />
|
|
||||||
<workItem from="1621499387217" duration="19227000" />
|
|
||||||
<workItem from="1621555699345" duration="10184000" />
|
|
||||||
</task>
|
|
||||||
<servers />
|
|
||||||
</component>
|
|
||||||
<component name="TypeScriptGeneratedFilesManager">
|
|
||||||
<option name="version" value="3" />
|
|
||||||
</component>
|
|
||||||
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
|
||||||
<SUITE FILE_PATH="coverage/SpiderWebsite$test.coverage" NAME="test Coverage Results" MODIFIED="1621556586504" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/demo" />
|
|
||||||
<SUITE FILE_PATH="coverage/SpiderWebsite$views.coverage" NAME="views Coverage Results" MODIFIED="1621430291321" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/demo" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
@ -1,16 +0,0 @@
|
|||||||
"""
|
|
||||||
ASGI config for SpiderWebsite project.
|
|
||||||
|
|
||||||
It exposes the ASGI callable as a module-level variable named ``application``.
|
|
||||||
|
|
||||||
For more information on this file, see
|
|
||||||
https://docs.djangoproject.com/en/3.2/howto/deployment/asgi/
|
|
||||||
"""
|
|
||||||
|
|
||||||
import os
|
|
||||||
|
|
||||||
from django.core.asgi import get_asgi_application
|
|
||||||
|
|
||||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'SpiderWebsite.settings')
|
|
||||||
|
|
||||||
application = get_asgi_application()
|
|
@ -1,127 +0,0 @@
|
|||||||
"""
|
|
||||||
Django settings for SpiderWebsite project.
|
|
||||||
|
|
||||||
Generated by 'django-admin startproject' using Django 3.2.3.
|
|
||||||
|
|
||||||
For more information on this file, see
|
|
||||||
https://docs.djangoproject.com/en/3.2/topics/settings/
|
|
||||||
|
|
||||||
For the full list of settings and their values, see
|
|
||||||
https://docs.djangoproject.com/en/3.2/ref/settings/
|
|
||||||
"""
|
|
||||||
|
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
# Build paths inside the project like this: BASE_DIR / 'subdir'.
|
|
||||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
|
||||||
|
|
||||||
|
|
||||||
# Quick-start development settings - unsuitable for production
|
|
||||||
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
|
|
||||||
|
|
||||||
# SECURITY WARNING: keep the secret key used in production secret!
|
|
||||||
SECRET_KEY = 'django-insecure-w)+=_o^@7=*$q74ts!62onk$skg13%jgzmnpsy764btg6osqt@'
|
|
||||||
|
|
||||||
# SECURITY WARNING: don't run with debug turned on in production!
|
|
||||||
DEBUG = False
|
|
||||||
# 请求头HOST
|
|
||||||
ALLOWED_HOSTS = ['*']
|
|
||||||
|
|
||||||
|
|
||||||
# Application definition
|
|
||||||
|
|
||||||
INSTALLED_APPS = [
|
|
||||||
'django.contrib.admin',
|
|
||||||
'django.contrib.auth',
|
|
||||||
'django.contrib.contenttypes',
|
|
||||||
'django.contrib.sessions',
|
|
||||||
'django.contrib.messages',
|
|
||||||
'django.contrib.staticfiles',
|
|
||||||
'demo.apps.DemoConfig',
|
|
||||||
]
|
|
||||||
|
|
||||||
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',
|
|
||||||
]
|
|
||||||
|
|
||||||
ROOT_URLCONF = 'SpiderWebsite.urls'
|
|
||||||
|
|
||||||
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',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
WSGI_APPLICATION = 'SpiderWebsite.wsgi.application'
|
|
||||||
|
|
||||||
|
|
||||||
# Database
|
|
||||||
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases
|
|
||||||
|
|
||||||
DATABASES = {
|
|
||||||
'default': {
|
|
||||||
'ENGINE': 'django.db.backends.sqlite3',
|
|
||||||
'NAME': BASE_DIR / 'db.sqlite3',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Password validation
|
|
||||||
# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators
|
|
||||||
|
|
||||||
AUTH_PASSWORD_VALIDATORS = [
|
|
||||||
{
|
|
||||||
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
# Internationalization
|
|
||||||
# https://docs.djangoproject.com/en/3.2/topics/i18n/
|
|
||||||
|
|
||||||
LANGUAGE_CODE = 'zh-Hans'
|
|
||||||
|
|
||||||
TIME_ZONE = 'Asia/Shanghai'
|
|
||||||
|
|
||||||
USE_I18N = True
|
|
||||||
|
|
||||||
USE_L10N = True
|
|
||||||
|
|
||||||
USE_TZ = True
|
|
||||||
|
|
||||||
|
|
||||||
# Static files (CSS, JavaScript, Images)
|
|
||||||
# https://docs.djangoproject.com/en/3.2/howto/static-files/
|
|
||||||
|
|
||||||
STATIC_URL = '/static/'
|
|
||||||
|
|
||||||
# Default primary key field type
|
|
||||||
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
|
|
||||||
|
|
||||||
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
|
@ -1,22 +0,0 @@
|
|||||||
"""SpiderWebsite URL Configuration
|
|
||||||
|
|
||||||
The `urlpatterns` list routes URLs to views. For more information please see:
|
|
||||||
https://docs.djangoproject.com/en/3.2/topics/http/urls/
|
|
||||||
Examples:
|
|
||||||
Function views
|
|
||||||
1. Add an import: from my_app import views
|
|
||||||
2. Add a URL to urlpatterns: path('', views.home, name='home')
|
|
||||||
Class-based views
|
|
||||||
1. Add an import: from other_app.views import Home
|
|
||||||
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
|
|
||||||
Including another URLconf
|
|
||||||
1. Import the include() function: from django.urls import include, path
|
|
||||||
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
|
|
||||||
"""
|
|
||||||
from django.contrib import admin
|
|
||||||
from django.urls import path, include
|
|
||||||
|
|
||||||
urlpatterns = [
|
|
||||||
path('admin/', admin.site.urls),
|
|
||||||
path(r'', include('demo.urls')),
|
|
||||||
]
|
|
@ -1,16 +0,0 @@
|
|||||||
"""
|
|
||||||
WSGI config for SpiderWebsite project.
|
|
||||||
|
|
||||||
It exposes the WSGI callable as a module-level variable named ``application``.
|
|
||||||
|
|
||||||
For more information on this file, see
|
|
||||||
https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/
|
|
||||||
"""
|
|
||||||
|
|
||||||
import os
|
|
||||||
|
|
||||||
from django.core.wsgi import get_wsgi_application
|
|
||||||
|
|
||||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'SpiderWebsite.settings')
|
|
||||||
|
|
||||||
application = get_wsgi_application()
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,3 +0,0 @@
|
|||||||
from django.contrib import admin
|
|
||||||
|
|
||||||
# Register your models here.
|
|
@ -1,6 +0,0 @@
|
|||||||
from django.apps import AppConfig
|
|
||||||
|
|
||||||
|
|
||||||
class DemoConfig(AppConfig):
|
|
||||||
default_auto_field = 'django.db.models.BigAutoField'
|
|
||||||
name = 'demo'
|
|
Binary file not shown.
@ -1,3 +0,0 @@
|
|||||||
from django.db import models
|
|
||||||
|
|
||||||
# Create your models here.
|
|
@ -1,13 +0,0 @@
|
|||||||
{% import 'macro' as macro %}
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>{{ chart.page_title }}</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
{{ macro.gen_components_content(chart) }}
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,18 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>爬爬虫的Small Home</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<!--这是一个注释,注释在浏览器中不会显示-->
|
|
||||||
<h1>这是主页</h1>
|
|
||||||
<!--hr 标签定义水平线:-->
|
|
||||||
<hr />
|
|
||||||
<a href="table_one">北京新发地菜市场产品种类分析</a>
|
|
||||||
<hr />
|
|
||||||
<a href="pie_one">豆瓣电影排行top250年份分布</a>
|
|
||||||
<hr />
|
|
||||||
<a href="word_cloud">网易云评论词云</a>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,195 +0,0 @@
|
|||||||
{%- macro render_chart_content(c) -%}
|
|
||||||
<div id="{{ c.chart_id }}" class="chart-container" style="width:{{ c.width }}; height:{{ c.height }};"></div>
|
|
||||||
<script>
|
|
||||||
var chart_{{ c.chart_id }} = echarts.init(
|
|
||||||
document.getElementById('{{ c.chart_id }}'), '{{ c.theme }}', {renderer: '{{ c.renderer }}'});
|
|
||||||
{% for js in c.js_functions.items %}
|
|
||||||
{{ js }}
|
|
||||||
{% endfor %}
|
|
||||||
var option_{{ c.chart_id }} = {{ c.json_contents }};
|
|
||||||
chart_{{ c.chart_id }}.setOption(option_{{ c.chart_id }});
|
|
||||||
{% if c._is_geo_chart %}
|
|
||||||
var bmap = chart_{{ c.chart_id }}.getModel().getComponent('bmap').getBMap();
|
|
||||||
{% if c.bmap_js_functions %}
|
|
||||||
{% for fn in c.bmap_js_functions.items %}
|
|
||||||
{{ fn }}
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% if c.width.endswith('%') %}
|
|
||||||
window.addEventListener('resize', function(){
|
|
||||||
chart_{{ c.chart_id }}.resize();
|
|
||||||
})
|
|
||||||
{% endif %}
|
|
||||||
</script>
|
|
||||||
{%- endmacro %}
|
|
||||||
|
|
||||||
{%- macro render_notebook_charts(charts, libraries) -%}
|
|
||||||
<script>
|
|
||||||
require([{{ libraries | join(', ') }}], function(echarts) {
|
|
||||||
{% for c in charts %}
|
|
||||||
{% if c._component_type not in ("table", "image") %}
|
|
||||||
var chart_{{ c.chart_id }} = echarts.init(
|
|
||||||
document.getElementById('{{ c.chart_id }}'), '{{ c.theme }}', {renderer: '{{ c.renderer }}'});
|
|
||||||
{% for js in c.js_functions.items %}
|
|
||||||
{{ js }}
|
|
||||||
{% endfor %}
|
|
||||||
var option_{{ c.chart_id }} = {{ c.json_contents }};
|
|
||||||
chart_{{ c.chart_id }}.setOption(option_{{ c.chart_id }});
|
|
||||||
{% if c._is_geo_chart %}
|
|
||||||
var bmap = chart_{{ c.chart_id }}.getModel().getComponent('bmap').getBMap();
|
|
||||||
bmap.addControl(new BMap.MapTypeControl());
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
{%- endmacro %}
|
|
||||||
|
|
||||||
{%- macro render_chart_dependencies(c) -%}
|
|
||||||
{% for dep in c.dependencies %}
|
|
||||||
<script type="text/javascript" src="{{ dep }}"></script>
|
|
||||||
{% endfor %}
|
|
||||||
{%- endmacro %}
|
|
||||||
|
|
||||||
{%- macro render_chart_css(c) -%}
|
|
||||||
{% for dep in c.css_libs %}
|
|
||||||
<link rel="stylesheet" href="{{ dep }}">
|
|
||||||
{% endfor %}
|
|
||||||
{%- endmacro %}
|
|
||||||
|
|
||||||
{%- macro display_tablinks(chart) -%}
|
|
||||||
<div class="tab">
|
|
||||||
{% for c in chart %}
|
|
||||||
<button class="tablinks" onclick="showChart(event, '{{ c.chart_id }}')">{{ c.tab_name }}</button>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
{%- endmacro %}
|
|
||||||
|
|
||||||
{%- macro switch_tabs() -%}
|
|
||||||
<script>
|
|
||||||
(function() {
|
|
||||||
containers = document.getElementsByClassName("chart-container");
|
|
||||||
if(containers.length > 0) {
|
|
||||||
containers[0].style.display = "block";
|
|
||||||
}
|
|
||||||
})()
|
|
||||||
|
|
||||||
function showChart(evt, chartID) {
|
|
||||||
let containers = document.getElementsByClassName("chart-container");
|
|
||||||
for (let i = 0; i < containers.length; i++) {
|
|
||||||
containers[i].style.display = "none";
|
|
||||||
}
|
|
||||||
|
|
||||||
let tablinks = document.getElementsByClassName("tablinks");
|
|
||||||
for (let i = 0; i < tablinks.length; i++) {
|
|
||||||
tablinks[i].className = "tablinks";
|
|
||||||
}
|
|
||||||
|
|
||||||
document.getElementById(chartID).style.display = "block";
|
|
||||||
evt.currentTarget.className += " active";
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
{%- endmacro %}
|
|
||||||
|
|
||||||
{%- macro generate_tab_css() %}
|
|
||||||
<style>
|
|
||||||
.tab {
|
|
||||||
overflow: hidden;
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
background-color: #f1f1f1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab button {
|
|
||||||
background-color: inherit;
|
|
||||||
float: left;
|
|
||||||
border: none;
|
|
||||||
outline: none;
|
|
||||||
cursor: pointer;
|
|
||||||
padding: 12px 16px;
|
|
||||||
transition: 0.3s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab button:hover {
|
|
||||||
background-color: #ddd;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab button.active {
|
|
||||||
background-color: #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
.chart-container {
|
|
||||||
display: none;
|
|
||||||
padding: 6px 12px;
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
{%- endmacro %}
|
|
||||||
|
|
||||||
{%- macro gen_components_content(chart) %}
|
|
||||||
{% if chart._component_type == "table" %}
|
|
||||||
<style>
|
|
||||||
.fl-table {
|
|
||||||
margin: 20px;
|
|
||||||
border-radius: 5px;
|
|
||||||
font-size: 12px;
|
|
||||||
border: none;
|
|
||||||
border-collapse: collapse;
|
|
||||||
max-width: 100%;
|
|
||||||
white-space: nowrap;
|
|
||||||
word-break: keep-all;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fl-table th {
|
|
||||||
text-align: left;
|
|
||||||
font-size: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fl-table tr {
|
|
||||||
display: table-row;
|
|
||||||
vertical-align: inherit;
|
|
||||||
border-color: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fl-table tr:hover td {
|
|
||||||
background: #00d1b2;
|
|
||||||
color: #F8F8F8;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fl-table td, .fl-table th {
|
|
||||||
border-style: none;
|
|
||||||
border-top: 1px solid #dbdbdb;
|
|
||||||
border-left: 1px solid #dbdbdb;
|
|
||||||
border-bottom: 3px solid #dbdbdb;
|
|
||||||
border-right: 1px solid #dbdbdb;
|
|
||||||
padding: .5em .55em;
|
|
||||||
font-size: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fl-table td {
|
|
||||||
border-style: none;
|
|
||||||
font-size: 15px;
|
|
||||||
vertical-align: center;
|
|
||||||
border-bottom: 1px solid #dbdbdb;
|
|
||||||
border-left: 1px solid #dbdbdb;
|
|
||||||
border-right: 1px solid #dbdbdb;
|
|
||||||
height: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fl-table tr:nth-child(even) {
|
|
||||||
background: #F8F8F8;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<div id="{{ chart.chart_id }}" class="chart-container" style="">
|
|
||||||
<p class="title" {{ chart.title_opts.title_style }}> {{ chart.title_opts.title }}</p>
|
|
||||||
<p class="subtitle" {{ chart.title_opts.subtitle_style }}> {{ chart.title_opts.subtitle }}</p>
|
|
||||||
{{ chart.html_content }}
|
|
||||||
</div>
|
|
||||||
{% elif chart._component_type == "image" %}
|
|
||||||
<div id="{{ chart.chart_id }}" class="chart-container" style="">
|
|
||||||
<p class="title" {{ chart.title_opts.title_style }}> {{ chart.title_opts.title }}</p>
|
|
||||||
<p class="subtitle" {{ chart.title_opts.subtitle_style }}> {{ chart.title_opts.subtitle }}</p>
|
|
||||||
<img {{ chart.html_content }}/>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
{%- endmacro %}
|
|
@ -1,15 +0,0 @@
|
|||||||
{% import 'macro' as macro %}
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<!--<title>{{ chart.page_title }}</title>-->
|
|
||||||
<title>北京新发地菜市场产品种类分析</title>
|
|
||||||
{{ macro.render_chart_dependencies(chart) }}
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
{{ macro.render_chart_content(chart) }}
|
|
||||||
<hr />
|
|
||||||
<a href="home">回到主页</a>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,14 +0,0 @@
|
|||||||
{% import 'macro' as macro %}
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>网易云歌曲评论词云</title>
|
|
||||||
{{ macro.render_chart_dependencies(chart) }}
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
{{ macro.render_chart_content(chart) }}
|
|
||||||
<hr />
|
|
||||||
<a href="home">回到主页</a>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,15 +0,0 @@
|
|||||||
{% import 'macro' as macro %}
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>豆瓣电影排行top250年份分布</title>
|
|
||||||
{{ macro.render_chart_dependencies(chart) }}
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<hr />
|
|
||||||
{{ macro.render_chart_content(chart) }}
|
|
||||||
<hr />
|
|
||||||
<a href="home">回到主页</a>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,3 +0,0 @@
|
|||||||
from django.test import TestCase
|
|
||||||
|
|
||||||
# Create your tests here.
|
|
@ -1,14 +0,0 @@
|
|||||||
from django.urls import path, include, re_path
|
|
||||||
|
|
||||||
from demo import views
|
|
||||||
|
|
||||||
urlpatterns = [
|
|
||||||
path(r'', views.home),
|
|
||||||
# <int:page>传参数到后面的views
|
|
||||||
path(r'page<int:page>', views.page_views),
|
|
||||||
path(r'home', views.home),
|
|
||||||
path(r'table_one', views.table_one),
|
|
||||||
path(r'pie_one', views.pie_views),
|
|
||||||
path(r'word_cloud', views.word_cloud),
|
|
||||||
# re_path(r'^$', views.table_one),
|
|
||||||
]
|
|
@ -1,141 +0,0 @@
|
|||||||
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<!--<title>Awesome-pyecharts</title>-->
|
|
||||||
<title>数据分析</title>
|
|
||||||
|
|
||||||
<script type="text/javascript" src="https://assets.pyecharts.org/assets/echarts.min.js"></script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="1f2015dbd84b47fc95b04be607d3b1c0" class="chart-container" style="width:900px; height:500px;"></div>
|
|
||||||
<script>
|
|
||||||
var chart_1f2015dbd84b47fc95b04be607d3b1c0 = echarts.init(
|
|
||||||
document.getElementById('1f2015dbd84b47fc95b04be607d3b1c0'), 'white', {renderer: 'canvas'});
|
|
||||||
|
|
||||||
var option_1f2015dbd84b47fc95b04be607d3b1c0 = {
|
|
||||||
"animation": true,
|
|
||||||
"animationThreshold": 2000,
|
|
||||||
"animationDuration": 1000,
|
|
||||||
"animationEasing": "cubicOut",
|
|
||||||
"animationDelay": 0,
|
|
||||||
"animationDurationUpdate": 300,
|
|
||||||
"animationEasingUpdate": "cubicOut",
|
|
||||||
"animationDelayUpdate": 0,
|
|
||||||
"color": [
|
|
||||||
"blue",
|
|
||||||
"green",
|
|
||||||
"yellow",
|
|
||||||
"red",
|
|
||||||
"pink",
|
|
||||||
"orange",
|
|
||||||
"purple"
|
|
||||||
],
|
|
||||||
"series": [
|
|
||||||
{
|
|
||||||
"type": "pie",
|
|
||||||
"clockwise": true,
|
|
||||||
"data": [
|
|
||||||
{
|
|
||||||
"name": "\u8349\u8393",
|
|
||||||
"value": 42
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "\u8292\u679c",
|
|
||||||
"value": 114
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "\u8461\u8404",
|
|
||||||
"value": 99
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "\u96ea\u68a8",
|
|
||||||
"value": 60
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "\u897f\u74dc",
|
|
||||||
"value": 81
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "\u67e0\u6aac",
|
|
||||||
"value": 83
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "\u8f66\u5398\u5b50",
|
|
||||||
"value": 86
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"radius": [
|
|
||||||
"0%",
|
|
||||||
"75%"
|
|
||||||
],
|
|
||||||
"center": [
|
|
||||||
"50%",
|
|
||||||
"50%"
|
|
||||||
],
|
|
||||||
"label": {
|
|
||||||
"show": true,
|
|
||||||
"position": "top",
|
|
||||||
"margin": 8,
|
|
||||||
"formatter": "{b}: {c}"
|
|
||||||
},
|
|
||||||
"rippleEffect": {
|
|
||||||
"show": true,
|
|
||||||
"brushType": "stroke",
|
|
||||||
"scale": 2.5,
|
|
||||||
"period": 4
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"legend": [
|
|
||||||
{
|
|
||||||
"data": [
|
|
||||||
"\u8349\u8393",
|
|
||||||
"\u8292\u679c",
|
|
||||||
"\u8461\u8404",
|
|
||||||
"\u96ea\u68a8",
|
|
||||||
"\u897f\u74dc",
|
|
||||||
"\u67e0\u6aac",
|
|
||||||
"\u8f66\u5398\u5b50"
|
|
||||||
],
|
|
||||||
"selected": {},
|
|
||||||
"show": true,
|
|
||||||
"padding": 5,
|
|
||||||
"itemGap": 10,
|
|
||||||
"itemWidth": 25,
|
|
||||||
"itemHeight": 14
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"tooltip": {
|
|
||||||
"show": true,
|
|
||||||
"trigger": "item",
|
|
||||||
"triggerOn": "mousemove|click",
|
|
||||||
"axisPointer": {
|
|
||||||
"type": "line"
|
|
||||||
},
|
|
||||||
"showContent": true,
|
|
||||||
"alwaysShowContent": false,
|
|
||||||
"showDelay": 0,
|
|
||||||
"hideDelay": 100,
|
|
||||||
"textStyle": {
|
|
||||||
"fontSize": 14
|
|
||||||
},
|
|
||||||
"borderWidth": 0,
|
|
||||||
"padding": 5
|
|
||||||
},
|
|
||||||
"title": [
|
|
||||||
{
|
|
||||||
"text": "Pie-\u8bbe\u7f6e\u989c\u8272",
|
|
||||||
"padding": 5,
|
|
||||||
"itemGap": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
};
|
|
||||||
chart_1f2015dbd84b47fc95b04be607d3b1c0.setOption(option_1f2015dbd84b47fc95b04be607d3b1c0);
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue