How i can create Model or form for Django admin that not create table in database ?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
This technique create table in database but i don't want create table into database.
class Email(models.Model):
to = models.EmailField(null = False)
subject = models.CharField(max_length = 255, null = False)
message = models.TextField(max_length = 555, null = False,)
class EmailAdmin(admin.ModelAdmin):
list_display = ('to','subject','message',)
#Here i can send emails to users.
def save_model(self, request, obj, form, change):
#I commented this line because i don't want to store this model into database.
#super(MyAdminView, self).save_model(request, obj, form, change)
admin.site.register(Email,EmailAdmin)
Any other way to solve this problem ?
django django-models django-forms django-database
add a comment |
This technique create table in database but i don't want create table into database.
class Email(models.Model):
to = models.EmailField(null = False)
subject = models.CharField(max_length = 255, null = False)
message = models.TextField(max_length = 555, null = False,)
class EmailAdmin(admin.ModelAdmin):
list_display = ('to','subject','message',)
#Here i can send emails to users.
def save_model(self, request, obj, form, change):
#I commented this line because i don't want to store this model into database.
#super(MyAdminView, self).save_model(request, obj, form, change)
admin.site.register(Email,EmailAdmin)
Any other way to solve this problem ?
django django-models django-forms django-database
add a comment |
This technique create table in database but i don't want create table into database.
class Email(models.Model):
to = models.EmailField(null = False)
subject = models.CharField(max_length = 255, null = False)
message = models.TextField(max_length = 555, null = False,)
class EmailAdmin(admin.ModelAdmin):
list_display = ('to','subject','message',)
#Here i can send emails to users.
def save_model(self, request, obj, form, change):
#I commented this line because i don't want to store this model into database.
#super(MyAdminView, self).save_model(request, obj, form, change)
admin.site.register(Email,EmailAdmin)
Any other way to solve this problem ?
django django-models django-forms django-database
This technique create table in database but i don't want create table into database.
class Email(models.Model):
to = models.EmailField(null = False)
subject = models.CharField(max_length = 255, null = False)
message = models.TextField(max_length = 555, null = False,)
class EmailAdmin(admin.ModelAdmin):
list_display = ('to','subject','message',)
#Here i can send emails to users.
def save_model(self, request, obj, form, change):
#I commented this line because i don't want to store this model into database.
#super(MyAdminView, self).save_model(request, obj, form, change)
admin.site.register(Email,EmailAdmin)
Any other way to solve this problem ?
django django-models django-forms django-database
django django-models django-forms django-database
asked Nov 29 '18 at 5:21
TimmaTimma
8829
8829
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
It looks like you need to add new admin urls with your own customized form, view and template:
from django.core.mail import send_mail
class EmailForm(forms.Form):
subject = forms.CharField()
message = forms.CharField()
to = forms.EmailField()
def send_email(self):
send_mail(
self.cleaned_data.get('subject'),
self.cleaned_data.get('message'),
'from@example.com',
[self.cleaned_data.get('to')],
fail_silently=False,
)
class SomeAdmin(admin.ModelAdmin): # You need to override an ModelAdmin
def get_urls(self):
urls = super().get_urls()
my_urls = [
path('my_view/', self.my_view),
]
return my_urls + urls
def my_view(self, request):
if request.method == "GET":
return render(request, 'template.html', {'form': EmailForm()}
else:
form = EmailForm(request.POST)
if form.is_valid():
form.send_email()
# rest of your view
# Template
{% extends "admin/base_site.html" %}
{% block content %}
<form method="post">
{% csrf_token %}
{{ form.as_p }}
</form>
{% endblock %}
Please see the documentation available in here.
But i don't want to create table in database. I need only model fields to get data and send email.
– Timma
Nov 29 '18 at 5:45
@FaizanFareed please see my updated answer
– ruddra
Nov 29 '18 at 5:57
how i can access this form in admin ?
– Timma
Nov 30 '18 at 6:47
it should be available at/admin/myapp/mymodel/my_view/
– ruddra
Nov 30 '18 at 10:29
page not found 404 error occurred.
– Timma
Nov 30 '18 at 16:50
|
show 3 more comments
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53532341%2fhow-i-can-create-model-or-form-for-django-admin-that-not-create-table-in-databas%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
It looks like you need to add new admin urls with your own customized form, view and template:
from django.core.mail import send_mail
class EmailForm(forms.Form):
subject = forms.CharField()
message = forms.CharField()
to = forms.EmailField()
def send_email(self):
send_mail(
self.cleaned_data.get('subject'),
self.cleaned_data.get('message'),
'from@example.com',
[self.cleaned_data.get('to')],
fail_silently=False,
)
class SomeAdmin(admin.ModelAdmin): # You need to override an ModelAdmin
def get_urls(self):
urls = super().get_urls()
my_urls = [
path('my_view/', self.my_view),
]
return my_urls + urls
def my_view(self, request):
if request.method == "GET":
return render(request, 'template.html', {'form': EmailForm()}
else:
form = EmailForm(request.POST)
if form.is_valid():
form.send_email()
# rest of your view
# Template
{% extends "admin/base_site.html" %}
{% block content %}
<form method="post">
{% csrf_token %}
{{ form.as_p }}
</form>
{% endblock %}
Please see the documentation available in here.
But i don't want to create table in database. I need only model fields to get data and send email.
– Timma
Nov 29 '18 at 5:45
@FaizanFareed please see my updated answer
– ruddra
Nov 29 '18 at 5:57
how i can access this form in admin ?
– Timma
Nov 30 '18 at 6:47
it should be available at/admin/myapp/mymodel/my_view/
– ruddra
Nov 30 '18 at 10:29
page not found 404 error occurred.
– Timma
Nov 30 '18 at 16:50
|
show 3 more comments
It looks like you need to add new admin urls with your own customized form, view and template:
from django.core.mail import send_mail
class EmailForm(forms.Form):
subject = forms.CharField()
message = forms.CharField()
to = forms.EmailField()
def send_email(self):
send_mail(
self.cleaned_data.get('subject'),
self.cleaned_data.get('message'),
'from@example.com',
[self.cleaned_data.get('to')],
fail_silently=False,
)
class SomeAdmin(admin.ModelAdmin): # You need to override an ModelAdmin
def get_urls(self):
urls = super().get_urls()
my_urls = [
path('my_view/', self.my_view),
]
return my_urls + urls
def my_view(self, request):
if request.method == "GET":
return render(request, 'template.html', {'form': EmailForm()}
else:
form = EmailForm(request.POST)
if form.is_valid():
form.send_email()
# rest of your view
# Template
{% extends "admin/base_site.html" %}
{% block content %}
<form method="post">
{% csrf_token %}
{{ form.as_p }}
</form>
{% endblock %}
Please see the documentation available in here.
But i don't want to create table in database. I need only model fields to get data and send email.
– Timma
Nov 29 '18 at 5:45
@FaizanFareed please see my updated answer
– ruddra
Nov 29 '18 at 5:57
how i can access this form in admin ?
– Timma
Nov 30 '18 at 6:47
it should be available at/admin/myapp/mymodel/my_view/
– ruddra
Nov 30 '18 at 10:29
page not found 404 error occurred.
– Timma
Nov 30 '18 at 16:50
|
show 3 more comments
It looks like you need to add new admin urls with your own customized form, view and template:
from django.core.mail import send_mail
class EmailForm(forms.Form):
subject = forms.CharField()
message = forms.CharField()
to = forms.EmailField()
def send_email(self):
send_mail(
self.cleaned_data.get('subject'),
self.cleaned_data.get('message'),
'from@example.com',
[self.cleaned_data.get('to')],
fail_silently=False,
)
class SomeAdmin(admin.ModelAdmin): # You need to override an ModelAdmin
def get_urls(self):
urls = super().get_urls()
my_urls = [
path('my_view/', self.my_view),
]
return my_urls + urls
def my_view(self, request):
if request.method == "GET":
return render(request, 'template.html', {'form': EmailForm()}
else:
form = EmailForm(request.POST)
if form.is_valid():
form.send_email()
# rest of your view
# Template
{% extends "admin/base_site.html" %}
{% block content %}
<form method="post">
{% csrf_token %}
{{ form.as_p }}
</form>
{% endblock %}
Please see the documentation available in here.
It looks like you need to add new admin urls with your own customized form, view and template:
from django.core.mail import send_mail
class EmailForm(forms.Form):
subject = forms.CharField()
message = forms.CharField()
to = forms.EmailField()
def send_email(self):
send_mail(
self.cleaned_data.get('subject'),
self.cleaned_data.get('message'),
'from@example.com',
[self.cleaned_data.get('to')],
fail_silently=False,
)
class SomeAdmin(admin.ModelAdmin): # You need to override an ModelAdmin
def get_urls(self):
urls = super().get_urls()
my_urls = [
path('my_view/', self.my_view),
]
return my_urls + urls
def my_view(self, request):
if request.method == "GET":
return render(request, 'template.html', {'form': EmailForm()}
else:
form = EmailForm(request.POST)
if form.is_valid():
form.send_email()
# rest of your view
# Template
{% extends "admin/base_site.html" %}
{% block content %}
<form method="post">
{% csrf_token %}
{{ form.as_p }}
</form>
{% endblock %}
Please see the documentation available in here.
edited Nov 29 '18 at 5:57
answered Nov 29 '18 at 5:36
ruddraruddra
16.5k42951
16.5k42951
But i don't want to create table in database. I need only model fields to get data and send email.
– Timma
Nov 29 '18 at 5:45
@FaizanFareed please see my updated answer
– ruddra
Nov 29 '18 at 5:57
how i can access this form in admin ?
– Timma
Nov 30 '18 at 6:47
it should be available at/admin/myapp/mymodel/my_view/
– ruddra
Nov 30 '18 at 10:29
page not found 404 error occurred.
– Timma
Nov 30 '18 at 16:50
|
show 3 more comments
But i don't want to create table in database. I need only model fields to get data and send email.
– Timma
Nov 29 '18 at 5:45
@FaizanFareed please see my updated answer
– ruddra
Nov 29 '18 at 5:57
how i can access this form in admin ?
– Timma
Nov 30 '18 at 6:47
it should be available at/admin/myapp/mymodel/my_view/
– ruddra
Nov 30 '18 at 10:29
page not found 404 error occurred.
– Timma
Nov 30 '18 at 16:50
But i don't want to create table in database. I need only model fields to get data and send email.
– Timma
Nov 29 '18 at 5:45
But i don't want to create table in database. I need only model fields to get data and send email.
– Timma
Nov 29 '18 at 5:45
@FaizanFareed please see my updated answer
– ruddra
Nov 29 '18 at 5:57
@FaizanFareed please see my updated answer
– ruddra
Nov 29 '18 at 5:57
how i can access this form in admin ?
– Timma
Nov 30 '18 at 6:47
how i can access this form in admin ?
– Timma
Nov 30 '18 at 6:47
it should be available at
/admin/myapp/mymodel/my_view/
– ruddra
Nov 30 '18 at 10:29
it should be available at
/admin/myapp/mymodel/my_view/
– ruddra
Nov 30 '18 at 10:29
page not found 404 error occurred.
– Timma
Nov 30 '18 at 16:50
page not found 404 error occurred.
– Timma
Nov 30 '18 at 16:50
|
show 3 more comments
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53532341%2fhow-i-can-create-model-or-form-for-django-admin-that-not-create-table-in-databas%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown