我是Django的新手,并且想在我的脚本中使用其ORM而不运行整个Django。我正在摸索如何配置它。StackOverflow上的搜索无济于事,因为答案未显示完整内容。
因此,我创建了一个小项目:
app.py
manage.py
orm/
__init__.py
models.py
Run Code Online (Sandbox Code Playgroud)
manage.py具有配置:
from django.conf import settings
settings.configure(
DATABASE_ENGINE = 'mysql',
DATABASE_NAME = 'db',
DATABASE_USER = 'admin',
DATABASE_PASSWORD = '',
DATABASE_HOST = 'localhost',
INSTALLED_APPS = ('orm')
)
Run Code Online (Sandbox Code Playgroud)
models.py:
from django.db import models
class Label(models.Model):
name = models.CharField(max_length=50) # required max_length
Run Code Online (Sandbox Code Playgroud)
最后是我的主文件app.py:
from django.conf import settings
from django.db import models
from orm.models import *
\# do database maniupaltions
Run Code Online (Sandbox Code Playgroud)
尽管在运行app.py之后,我收到以下错误消息:
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE …
我在 django 中创建指向外部网站的超链接时遇到了一些问题,例如我的 html 文件中的 google.com 的超链接如下:
Adres www: <a href="{{ det_wpisu.adres_www }}">{{ det_wpisu.adres_www }}</a> <br />
Run Code Online (Sandbox Code Playgroud)
但当我点击时显示的 www 地址:
http://localhost:8000/detale/3/www.google.com
Run Code Online (Sandbox Code Playgroud)
并返回404页面。
到目前为止,我一直在摸索尝试保护Django的媒体文件而没有运气!我只是想让只有管理员用户才能访问媒体文件夹的地方。这是我的Nginx文件。
server {
listen 80;
server_name xxxxxxxxxx;
location = /favicon.ico {access_log off; log_not_found off;}
location /static/ {
alias /home/{site-name}/static_cdn/;
}
location /media/ {
internal;
root /home/{site-name}/;
}
location / {
this is setup and working. Didn't include Code though
}
Run Code Online (Sandbox Code Playgroud)
我的网址文件
urlpatterns = [
url(r'^media/', views.protectedMedia, name="protect_media"),
]
Run Code Online (Sandbox Code Playgroud)
我的看法
def protectedMedia(request):
if request.user.is_staff:
response = HttpResponse()
response['Content-Type'] = ''
response['X-Accel-Redirect'] = request.path
return response
else:
return HttpResponse(status=400)
Run Code Online (Sandbox Code Playgroud)
这将产生404 Not Found Nginx错误。这里有什么公然的错误吗?谢谢!
顺便说一句,我尝试在Nginx设置的根URL末尾添加/ media /。
我想去参加工作面试并展示一些不需要花钱维护的 REST API 作品集,我也不想在 AWS 等上使用免费试用。我想要像 PAW 服务器这样执行 Python 代码的东西,而且我不知道要打开哪些端口、如何打开它们以及如何保证它们的安全